home *** CD-ROM | disk | FTP | other *** search
/ Kodak Picture CD: 357075 / Kodak Picture CD 357075.iso / setup / ess / esscore / esscore.cab / VPrintOnline.dll / HTML / 5035 < prev    next >
Text File  |  2004-08-11  |  133KB  |  2,566 lines

  1. <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:cpxe="http://www.i3a.org/cpxe/100/" xmlns:iso="http://www.i3a.org/cpxe/100/ISOSchema/" xmlns:fas="http://www.i3a.org/cpxe/100/fas/" targetNamespace="http://www.i3a.org/cpxe/100/fas/" name="FAS">
  2.     <types>
  3.         <documentation>
  4.         CPXE FAS WSDL Last edited: Apr 7, 2003
  5.         V1.01    Apr 7, 2003        all-in-one WSDL, unique parameterOrder/message names for MS SOAP toolkit 3.0.
  6.         V1.00    Feb 28, 2003    candidate release
  7.         V0.60    Jan 14, 2003        unique names per operation, moved schema to CpxeApi.xsd (which is now included), split out service definition
  8.         V0.51    Oct. 30, 2002    orderId is UidType, added missing operations, parameterOrder
  9.         V0.5    Oct. 28, 2002    removed transactions, updated catalog
  10.         V0.4    Oct. 12, 2002     baseline
  11.  
  12. </documentation>
  13.         <xs:schema targetNamespace="http://www.i3a.org/cpxe/100/" xmlns:cpxe="http://www.i3a.org/cpxe/100/" >
  14.             <!-- CPXE API Last edited: Feb 28, 2003
  15.         V1.00    Feb 28, 2003    candidate release, also change findService/inputValues to type cpxe:KeyValueListType.
  16.         V0.60 - Jan 14, 2003    - baseline
  17.     -->
  18.             <!-- ************************************************************************************* CPXe Core methods -->
  19.             <xs:element name="statusReturn">
  20.                 <xs:complexType>
  21.                     <xs:sequence>
  22.                         <xs:element name="statusReturn" type="cpxe:StatusType"/>
  23.                     </xs:sequence>
  24.                 </xs:complexType>
  25.             </xs:element>
  26.             <xs:element name="getAssetList">
  27.                 <xs:complexType>
  28.                     <xs:sequence>
  29.                         <xs:element name="session" type="cpxe:SessionType"/>
  30.                         <xs:element name="orderId" type="cpxe:UidType"/>
  31.                     </xs:sequence>
  32.                 </xs:complexType>
  33.             </xs:element>
  34.             <xs:element name="getSession">
  35.                 <xs:complexType>
  36.                     <xs:sequence>
  37.                         <xs:element name="membership" type="cpxe:MembershipType"/>
  38.                         <xs:element name="leaseDuration" type="xs:int"/>
  39.                         <xs:element name="sessionProperties" type="cpxe:KeyValueListType"/>
  40.                     </xs:sequence>
  41.                 </xs:complexType>
  42.             </xs:element>
  43.             <xs:element name="cancelLease">
  44.                 <xs:complexType>
  45.                     <xs:sequence>
  46.                         <xs:element name="session" type="cpxe:SessionType"/>
  47.                         <xs:element name="lease" type="cpxe:LeaseType"/>
  48.                     </xs:sequence>
  49.                 </xs:complexType>
  50.                 <!-- no additional data returned in result -->
  51.             </xs:element>
  52.             <xs:element name="renewLease">
  53.                 <xs:complexType>
  54.                     <xs:sequence>
  55.                         <xs:element name="session" type="cpxe:SessionType"/>
  56.                         <xs:element name="lease" type="cpxe:LeaseType"/>
  57.                         <xs:element name="leaseDuration" type="xs:int"/>
  58.                     </xs:sequence>
  59.                 </xs:complexType>
  60.             </xs:element>
  61.             <xs:element name="getServiceProperties">
  62.                 <xs:complexType>
  63.                     <xs:sequence>
  64.                         <xs:element name="session" type="cpxe:SessionType"/>
  65.                     </xs:sequence>
  66.                 </xs:complexType>
  67.             </xs:element>
  68.             <xs:element name="getSessionProperties">
  69.                 <xs:complexType>
  70.                     <xs:sequence>
  71.                         <xs:element name="session" type="cpxe:SessionType"/>
  72.                     </xs:sequence>
  73.                 </xs:complexType>
  74.             </xs:element>
  75.             <xs:element name="setSessionProperties">
  76.                 <xs:complexType>
  77.                     <xs:sequence>
  78.                         <xs:element name="session" type="cpxe:SessionType"/>
  79.                         <xs:element name="sessionProperties" type="cpxe:KeyValueListType"/>
  80.                     </xs:sequence>
  81.                 </xs:complexType>
  82.             </xs:element>
  83.             <xs:element name="getCatalog">
  84.                 <xs:complexType>
  85.                     <xs:sequence>
  86.                         <xs:element name="session" type="cpxe:SessionType"/>
  87.                         <xs:element name="membership" type="cpxe:MembershipType"/>
  88.                         <xs:element name="locale" type="cpxe:LocaleType"/>
  89.                         <xs:element name="selectors" type="cpxe:String255Type"/>
  90.                         <xs:element name="requestorKey" type="cpxe:String255Type"/>
  91.                     </xs:sequence>
  92.                 </xs:complexType>
  93.             </xs:element>
  94.             <!-- ************************************************************************************* SLS-specific methods -->
  95.             <xs:element name="getProviderDetails">
  96.                 <xs:complexType>
  97.                     <xs:sequence>
  98.                         <xs:element name="session" type="cpxe:SessionType"/>
  99.                     </xs:sequence>
  100.                 </xs:complexType>
  101.             </xs:element>
  102.             <xs:element name="findService">
  103.                 <xs:complexType>
  104.                     <xs:sequence>
  105.                         <xs:element name="session" type="cpxe:SessionType"/>
  106.                         <xs:element name="searchPath" type="cpxe:String255Type"/>
  107.                         <xs:element name="inputValues" type="cpxe:KeyValueListType"/>
  108.                     </xs:sequence>
  109.                 </xs:complexType>
  110.             </xs:element>
  111.             <!-- ************************************************************************************* FAS-specific methods -->
  112.             <xs:element name="createOrder">
  113.                 <xs:complexType>
  114.                     <xs:sequence>
  115.                         <xs:element name="session" type="cpxe:SessionType"/>
  116.                         <xs:element name="order" type="cpxe:OrderType"/>
  117.                         <xs:element name="leaseDuration" type="xs:long"/>
  118.                     </xs:sequence>
  119.                 </xs:complexType>
  120.             </xs:element>
  121.             <xs:element name="updateOrder">
  122.                 <xs:complexType>
  123.                     <xs:sequence>
  124.                         <xs:element name="session" type="cpxe:SessionType"/>
  125.                         <xs:element name="orderId" type="cpxe:UidType"/>
  126.                         <xs:element name="order" type="cpxe:OrderType"/>
  127.                     </xs:sequence>
  128.                 </xs:complexType>
  129.             </xs:element>
  130.             <xs:element name="validateOrder">
  131.                 <xs:complexType>
  132.                     <xs:sequence>
  133.                         <xs:element name="session" type="cpxe:SessionType"/>
  134.                         <xs:element name="orderId" type="cpxe:UidType"/>
  135.                     </xs:sequence>
  136.                 </xs:complexType>
  137.             </xs:element>
  138.             <xs:element name="authorizeOrder">
  139.                 <xs:complexType>
  140.                     <xs:sequence>
  141.                         <xs:element name="session" type="cpxe:SessionType"/>
  142.                         <xs:element name="orderId" type="cpxe:UidType"/>
  143.                     </xs:sequence>
  144.                 </xs:complexType>
  145.             </xs:element>
  146.             <xs:element name="getOrder">
  147.                 <xs:complexType>
  148.                     <xs:sequence>
  149.                         <xs:element name="session" type="cpxe:SessionType"/>
  150.                         <xs:element name="orderId" type="cpxe:UidType"/>
  151.                     </xs:sequence>
  152.                 </xs:complexType>
  153.             </xs:element>
  154.             <xs:element name="getOrderProperties">
  155.                 <xs:complexType>
  156.                     <xs:sequence>
  157.                         <xs:element name="session" type="cpxe:SessionType"/>
  158.                         <xs:element name="orderId" type="cpxe:UidType"/>
  159.                     </xs:sequence>
  160.                 </xs:complexType>
  161.             </xs:element>
  162.             <!-- CPXE ORDER Last edited: Feb 28, 2003
  163.         V1.00    Feb 28, 2003    candidate release, added FAILED enumeration to OrderStateType and assetTransferRequired flag to orderProperties, removed trailing space from each type def name: PayAtStoreType, PayAtDeliveryType, BankTransferType
  164.         V0.60 - Jan 14, 2003    removed orderProp/trackingInfoList, and changed name of opaqueKeyValueList.
  165.         V0.50 - Nov 15, 2002    Updated the version only
  166.         V0.5 - Oct. 28, 2002    removed transactions from OrderProperties, changed version=V0.5
  167.         V0.4 - Oct. 12, 2002    baseline
  168.     -->
  169.             <!-- ************************************************************************************* OrderType****-->
  170.             <xs:complexType name="OrderType">
  171.                 <xs:complexContent>
  172.                     <xs:extension base="cpxe:ResultType">
  173.                         <xs:sequence>
  174.                             <xs:element name="version" type="cpxe:String255Type" fixed="1.00"/>
  175.                             <xs:element name="orderPropertyList" type="cpxe:OrderPropertyListType" nillable="true" minOccurs="0"/>
  176.                             <xs:element name="orderInfo" type="cpxe:OrderInfoType" nillable="true" minOccurs="0"/>
  177.                             <xs:element name="consumerInfo" type="cpxe:ConsumerInfoType" nillable="true" minOccurs="0"/>
  178.                             <xs:element name="vendorInfo" type="cpxe:VendorInfoType" nillable="true" minOccurs="0"/>
  179.                             <xs:element name="productList" type="cpxe:ProductListType" nillable="true" minOccurs="0"/>
  180.                             <xs:element name="assetList" type="cpxe:AssetListType" nillable="true" minOccurs="0"/>
  181.                             <xs:element name="packageInfoList" type="cpxe:PackageInfoListType" nillable="true" minOccurs="0"/>
  182.                             <xs:element name="addressList" type="cpxe:AddressListType" nillable="true" minOccurs="0"/>
  183.                         </xs:sequence>
  184.                     </xs:extension>
  185.                 </xs:complexContent>
  186.             </xs:complexType>
  187.             <!-- ************************************************************************************* OrderInfoType****-->
  188.             <xs:complexType name="OrderInfoType">
  189.                 <xs:annotation>
  190.                     <xs:documentation>OrderInfoType is used to capture information about an order from creation through modification.</xs:documentation>
  191.                 </xs:annotation>
  192.                 <xs:sequence>
  193.                     <xs:element name="title" type="cpxe:String255Type">
  194.                         <xs:annotation>
  195.                             <xs:documentation>Title provides a description of the order.  Example:  Title="Family vacation photos - Summer 2001"</xs:documentation>
  196.                         </xs:annotation>
  197.                     </xs:element>
  198.                     <xs:element name="orderMod" type="cpxe:OrderModType" nillable="true" minOccurs="0" maxOccurs="unbounded">
  199.                         <xs:annotation>
  200.                             <xs:documentation>Each time a requestor or provider updates an order, they may track the change using a new OrderMod in the OrderInfo.  Not all elements are required, and OrderMod may be extended by manufacturers for private information.</xs:documentation>
  201.                         </xs:annotation>
  202.                     </xs:element>
  203.                 </xs:sequence>
  204.             </xs:complexType>
  205.             <!-- ************************************************************************************* OrderModType****-->
  206.             <xs:complexType name="OrderModType">
  207.                 <xs:sequence>
  208.                     <xs:element name="author" type="cpxe:String255Type" nillable="true" minOccurs="0">
  209.                         <xs:annotation>
  210.                             <xs:documentation>Author of the order modification. Example:  Author="BlueSky Co." </xs:documentation>
  211.                         </xs:annotation>
  212.                     </xs:element>
  213.                     <xs:element name="application" type="cpxe:String255Type" nillable="true" minOccurs="0">
  214.                         <xs:annotation>
  215.                             <xs:documentation>Application or SDK that made the order modification. Example:  Application="PhotoView" </xs:documentation>
  216.                         </xs:annotation>
  217.                     </xs:element>
  218.                     <xs:element name="version" type="cpxe:String255Type" nillable="true" minOccurs="0">
  219.                         <xs:annotation>
  220.                             <xs:documentation>Version number of software application. Example:  Version="V0.5" </xs:documentation>
  221.                         </xs:annotation>
  222.                     </xs:element>
  223.                     <xs:element name="dateTime" type="xs:dateTime" nillable="true" minOccurs="0">
  224.                         <xs:annotation>
  225.                             <xs:documentation>dateTime of modification. Example:  dateTime="2001-09-11T09:30:47-05:00" </xs:documentation>
  226.                         </xs:annotation>
  227.                     </xs:element>
  228.                     <xs:element name="description" type="cpxe:String255Type" nillable="true" minOccurs="0">
  229.                         <xs:annotation>
  230.                             <xs:documentation>Description of order creation / update. Example:  Description="Created order" </xs:documentation>
  231.                         </xs:annotation>
  232.                     </xs:element>
  233.                     <xs:element name="uniqueId" type="cpxe:String255Type" nillable="true" minOccurs="0">
  234.                         <xs:annotation>
  235.                             <xs:documentation>Unique Id of file modification.  Example:  uniqueId="XP12879A" </xs:documentation>
  236.                         </xs:annotation>
  237.                     </xs:element>
  238.                     <xs:element name="orderState" type="cpxe:OrderStateType" minOccurs="0">
  239.                         <xs:annotation>
  240.                             <xs:documentation>orderState at time of modification. Example:  orderState="Waiting" </xs:documentation>
  241.                         </xs:annotation>
  242.                     </xs:element>
  243.                 </xs:sequence>
  244.             </xs:complexType>
  245.             <!-- ************************************************************************************* ConsumerInfoType ****-->
  246.             <xs:complexType name="ConsumerInfoType">
  247.                 <xs:annotation>
  248.                     <xs:documentation>This set contains consumer (service requestor) related information. Included here is the consumer├óΓé¼Γäós name, address and payment information, listing all the details necessary to effect an order payment for the requested services. There is at most one ConsumerInformation per order.</xs:documentation>
  249.                 </xs:annotation>
  250.                 <xs:sequence>
  251.                     <xs:element name="consumerId" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  252.                     <xs:element name="username" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  253.                     <xs:element name="password" type="cpxe:String255Type" nillable="true" minOccurs="0">
  254.                         <xs:annotation>
  255.                             <xs:documentation>This element is masked when retrieved with getOrder()</xs:documentation>
  256.                         </xs:annotation>
  257.                     </xs:element>
  258.                     <xs:element name="addressRef" type="cpxe:IdrefType" nillable="true" minOccurs="0">
  259.                         <xs:annotation>
  260.                             <xs:documentation>This specifies the billing address for this order.</xs:documentation>
  261.                         </xs:annotation>
  262.                     </xs:element>
  263.                     <xs:element name="paymentMethod" type="cpxe:PaymentMethodType" nillable="true" minOccurs="0"/>
  264.                     <xs:element name="termsAndConditionsAgreed" type="xs:boolean"/>
  265.                 </xs:sequence>
  266.             </xs:complexType>
  267.             <!-- ************************************************************************************* PaymentMethodType ****-->
  268.             <xs:complexType name="PaymentMethodType" abstract="true">
  269.                 <xs:annotation>
  270.                     <xs:documentation>This abstract class is used to provide the framework for specifying a payment method. CPXe has defined several choices of payment methods, intended to provide base functionality.  Other payment methods may be extended by CPXe members, including PayInStore, COD, ElectronicCash, DebitCard</xs:documentation>
  271.                 </xs:annotation>
  272.             </xs:complexType>
  273.             <!-- ************************************************************************************* PayAtStoreType ****-->
  274.             <xs:complexType name="PayAtStoreType">
  275.                 <xs:annotation>
  276.                     <xs:documentation>This is an empty type, and is used when consumer is paying in store.</xs:documentation>
  277.                 </xs:annotation>
  278.                 <xs:complexContent>
  279.                     <xs:extension base="cpxe:PaymentMethodType"/>
  280.                 </xs:complexContent>
  281.             </xs:complexType>
  282.             <!-- ************************************************************************************* PayAtDeliveryType ****-->
  283.             <xs:complexType name="PayAtDeliveryType">
  284.                 <xs:annotation>
  285.                     <xs:documentation>This is an empty type, and is used when consumer is paying in store.</xs:documentation>
  286.                 </xs:annotation>
  287.                 <xs:complexContent>
  288.                     <xs:extension base="cpxe:PaymentMethodType"/>
  289.                 </xs:complexContent>
  290.             </xs:complexType>
  291.             <!-- ************************************************************************************* Credit CardType ****-->
  292.             <xs:complexType name="CreditCardType">
  293.                 <xs:annotation>
  294.                     <xs:documentation>CreditCard contains information about consumer credit card.</xs:documentation>
  295.                 </xs:annotation>
  296.                 <xs:complexContent>
  297.                     <xs:extension base="cpxe:PaymentMethodType">
  298.                         <xs:sequence>
  299.                             <xs:element name="cardNumber" type="cpxe:String255Type">
  300.                                 <xs:annotation>
  301.                                     <xs:documentation>This element is masked when retrieved by any method, and is returned as a string of x's and the last 4 digits of the CC number</xs:documentation>
  302.                                 </xs:annotation>
  303.                             </xs:element>
  304.                             <xs:element name="cardExpirationDate" type="xs:dateTime"/>
  305.                             <xs:element name="cardType" type="cpxe:String255Type"/>
  306.                             <xs:element name="cardName" type="cpxe:String255Type"/>
  307.                             <xs:element name="cardIssueNumber" type="cpxe:String255Type"/>
  308.                             <xs:element name="cardStartDate" type="xs:dateTime" minOccurs="0"/>
  309.                         </xs:sequence>
  310.                     </xs:extension>
  311.                 </xs:complexContent>
  312.             </xs:complexType>
  313.             <!-- ************************************************************************************* BankCollectionType ****-->
  314.             <xs:complexType name="BankCollectionType">
  315.                 <xs:annotation>
  316.                     <xs:documentation>A Bank Collection contains information about consumer bank collection number</xs:documentation>
  317.                 </xs:annotation>
  318.                 <xs:complexContent>
  319.                     <xs:extension base="cpxe:PaymentMethodType">
  320.                         <xs:sequence>
  321.                             <xs:element name="bankID" type="cpxe:String255Type">
  322.                                 <xs:annotation>
  323.                                     <xs:documentation>The bank identification number</xs:documentation>
  324.                                 </xs:annotation>
  325.                             </xs:element>
  326.                             <xs:element name="accountNumber" type="cpxe:String255Type">
  327.                                 <xs:annotation>
  328.                                     <xs:documentation>The bank account number</xs:documentation>
  329.                                 </xs:annotation>
  330.                             </xs:element>
  331.                             <xs:element name="accountOwner" type="cpxe:String255Type">
  332.                                 <xs:annotation>
  333.                                     <xs:documentation>The name of the account owner</xs:documentation>
  334.                                 </xs:annotation>
  335.                             </xs:element>
  336.                         </xs:sequence>
  337.                     </xs:extension>
  338.                 </xs:complexContent>
  339.             </xs:complexType>
  340.             <!-- ************************************************************************************* BankTransferType ****-->
  341.             <xs:complexType name="BankTransferType">
  342.                 <xs:annotation>
  343.                     <xs:documentation>A Bank Transfer contains information about consumer bank account number</xs:documentation>
  344.                 </xs:annotation>
  345.                 <xs:complexContent>
  346.                     <xs:extension base="cpxe:PaymentMethodType">
  347.                         <xs:sequence>
  348.                             <xs:element name="bankID" type="cpxe:String255Type">
  349.                                 <xs:annotation>
  350.                                     <xs:documentation>The bank identification number</xs:documentation>
  351.                                 </xs:annotation>
  352.                             </xs:element>
  353.                             <xs:element name="accountNumber" type="cpxe:String255Type">
  354.                                 <xs:annotation>
  355.                                     <xs:documentation>The bank account number</xs:documentation>
  356.                                 </xs:annotation>
  357.                             </xs:element>
  358.                             <xs:element name="accountOwner" type="cpxe:String255Type">
  359.                                 <xs:annotation>
  360.                                     <xs:documentation>The name of the account owner</xs:documentation>
  361.                                 </xs:annotation>
  362.                             </xs:element>
  363.                         </xs:sequence>
  364.                     </xs:extension>
  365.                 </xs:complexContent>
  366.             </xs:complexType>
  367.             <!-- ************************************************************************************* PaymentInvoiceType ****-->
  368.             <xs:complexType name="PaymentInvoiceType">
  369.                 <xs:annotation>
  370.                     <xs:documentation>A PaymentInvoiceType contains information about the invoice number and the account owner</xs:documentation>
  371.                 </xs:annotation>
  372.                 <xs:complexContent>
  373.                     <xs:extension base="cpxe:PaymentMethodType">
  374.                         <xs:sequence>
  375.                             <xs:element name="invoiceNumber" type="cpxe:String255Type">
  376.                                 <xs:annotation>
  377.                                     <xs:documentation>The consumer's invoice (PO) number</xs:documentation>
  378.                                 </xs:annotation>
  379.                             </xs:element>
  380.                             <xs:element name="accountOwner" type="cpxe:String255Type">
  381.                                 <xs:annotation>
  382.                                     <xs:documentation>The name of the account owner</xs:documentation>
  383.                                 </xs:annotation>
  384.                             </xs:element>
  385.                         </xs:sequence>
  386.                     </xs:extension>
  387.                 </xs:complexContent>
  388.             </xs:complexType>
  389.             <!-- ************************************************************************************* PaymentPrepaidType****-->
  390.             <xs:complexType name="PaymentPrepaidType">
  391.                 <xs:annotation>
  392.                     <xs:documentation>A PaymentPrepaidType contains information about the account number and the account owner</xs:documentation>
  393.                 </xs:annotation>
  394.                 <xs:complexContent>
  395.                     <xs:extension base="cpxe:PaymentMethodType">
  396.                         <xs:sequence>
  397.                             <xs:element name="accountNumber" type="cpxe:String255Type">
  398.                                 <xs:annotation>
  399.                                     <xs:documentation>The consumer's account number</xs:documentation>
  400.                                 </xs:annotation>
  401.                             </xs:element>
  402.                             <xs:element name="accountOwner" type="cpxe:String255Type">
  403.                                 <xs:annotation>
  404.                                     <xs:documentation>The name of the account owner</xs:documentation>
  405.                                 </xs:annotation>
  406.                             </xs:element>
  407.                         </xs:sequence>
  408.                     </xs:extension>
  409.                 </xs:complexContent>
  410.             </xs:complexType>
  411.             <!-- ************************************************************************************* VendorInfoType ****-->
  412.             <xs:complexType name="VendorInfoType">
  413.                 <xs:annotation>
  414.                     <xs:documentation>Vendor information is inserted into an order by the service provider for vendor order tracking purposes.</xs:documentation>
  415.                 </xs:annotation>
  416.                 <xs:sequence>
  417.                     <xs:element name="addressRef" type="cpxe:IdrefType" nillable="true" minOccurs="0">
  418.                         <xs:annotation>
  419.                             <xs:documentation>This specifies the vendors address taking this order.</xs:documentation>
  420.                         </xs:annotation>
  421.                     </xs:element>
  422.                     <xs:element name="vendorId" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  423.                     <xs:element name="vendorOrderNumber" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  424.                     <xs:element name="originatingService" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  425.                     <xs:element name="dateTime" type="xs:dateTime" minOccurs="0"/>
  426.                 </xs:sequence>
  427.             </xs:complexType>
  428.             <!-- ************************************************************************************* OrderPropertyListType ****-->
  429.             <xs:complexType name="OrderPropertyListType">
  430.                 <xs:annotation>
  431.                     <xs:documentation>Information about the order.  Some properties may be read-only -- that is updated by the service provider only.  Other properties are read-write.</xs:documentation>
  432.                 </xs:annotation>
  433.                 <xs:complexContent>
  434.                     <xs:extension base="cpxe:ResultType">
  435.                         <xs:sequence>
  436.                             <xs:element name="orderId" type="cpxe:UidType" nillable="true" minOccurs="0">
  437.                                 <xs:annotation>
  438.                                     <xs:documentation>orderId is issued by the service provider.  It is a uid so that it is not easily guessed or hacked.  Succesive orderIds are not sequenced. Example:  orderId="5E162AD9-D430-4B1F-80DB-794BA0AD3C18"</xs:documentation>
  439.                                 </xs:annotation>
  440.                             </xs:element>
  441.                             <xs:element name="orderLease" type="cpxe:LeaseType" nillable="true" minOccurs="0">
  442.                                 <xs:annotation>
  443.                                     <xs:documentation>The lease issued by the service provider at createOrder time.  The orderId and lease form  an orderLeaseType</xs:documentation>
  444.                                 </xs:annotation>
  445.                             </xs:element>
  446.                             <xs:element name="vendorOrderNumber" type="cpxe:String255Type" nillable="true" minOccurs="0">
  447.                                 <xs:annotation>
  448.                                     <xs:documentation>The vendor's order number (taken from VendorInfo).  This value may be used to track the order through customer service.</xs:documentation>
  449.                                 </xs:annotation>
  450.                             </xs:element>
  451.                             <xs:element name="orderState" type="cpxe:OrderStateType" minOccurs="0">
  452.                                 <xs:annotation>
  453.                                     <xs:documentation>Current state of order (at OrderUpdated time).  Wholesale and retail specific orderStates may not be reflected back to the service requestor.</xs:documentation>
  454.                                 </xs:annotation>
  455.                             </xs:element>
  456.                             <xs:element name="details" type="cpxe:DetailType" nillable="true" minOccurs="0" maxOccurs="unbounded">
  457.                                 <xs:annotation>
  458.                                     <xs:documentation>Abstact type to contain other information.  CPXe has defined LabeledDetailsType, but it also may be extended by manufacturer.</xs:documentation>
  459.                                 </xs:annotation>
  460.                             </xs:element>
  461.                             <xs:element name="dtmOrderUpdated" type="xs:dateTime" minOccurs="0">
  462.                                 <xs:annotation>
  463.                                     <xs:documentation>The last time this order was updated.</xs:documentation>
  464.                                 </xs:annotation>
  465.                             </xs:element>
  466.                             <xs:element name="dtmArrival" type="xs:dateTime" minOccurs="0">
  467.                                 <xs:annotation>
  468.                                     <xs:documentation>When this order began PROCESSING by this service</xs:documentation>
  469.                                 </xs:annotation>
  470.                             </xs:element>
  471.                             <xs:element name="dtmCompleted" type="xs:dateTime" minOccurs="0">
  472.                                 <xs:annotation>
  473.                                     <xs:documentation>When this order was COMPLETED by this service</xs:documentation>
  474.                                 </xs:annotation>
  475.                             </xs:element>
  476.                             <xs:element name="dtmShipped" type="xs:dateTime" minOccurs="0">
  477.                                 <xs:annotation>
  478.                                     <xs:documentation>When this order was SHIPPED or PICKED_UP</xs:documentation>
  479.                                 </xs:annotation>
  480.                             </xs:element>
  481.                             <xs:element name="assetTransferRequired" type="xs:boolean" nillable="true" minOccurs="0">
  482.                                 <xs:annotation>
  483.                                     <xs:documentation>Flag set by service provider to indicate to requestor that it is waiting for assets to be uploaded.
  484.                             If true, the requestor may perform a getAssetList to determine which assets must be uploaded.</xs:documentation>
  485.                                 </xs:annotation>
  486.                             </xs:element>
  487.                             <xs:element name="appUrl" type="xs:anyURI" nillable="true" minOccurs="0">
  488.                                 <xs:annotation>
  489.                                     <xs:documentation>Url of an associated online helper application which may be used to work with the order.</xs:documentation>
  490.                                 </xs:annotation>
  491.                             </xs:element>
  492.                             <xs:element name="customerServiceUrl" type="xs:anyURI" nillable="true" minOccurs="0">
  493.                                 <xs:annotation>
  494.                                     <xs:documentation>Url that the consumer may use to obtain customer service on this order</xs:documentation>
  495.                                 </xs:annotation>
  496.                             </xs:element>
  497.                             <xs:element name="orderLocale" type="cpxe:LocaleType" nillable="true" minOccurs="0">
  498.                                 <xs:annotation>
  499.                                     <xs:documentation>The Locale that the order was created with.  This locale is used consistently then thru order updating through processing to completxion.  The locale of an order may not be changed once the order has been created.</xs:documentation>
  500.                                 </xs:annotation>
  501.                             </xs:element>
  502.                             <xs:element name="opaqueKeyValueList" type="cpxe:KeyValueListType" nillable="true" minOccurs="0">
  503.                                 <xs:annotation>
  504.                                     <xs:documentation>A list of property elements passed into the FAS service.</xs:documentation>
  505.                                 </xs:annotation>
  506.                             </xs:element>
  507.                         </xs:sequence>
  508.                     </xs:extension>
  509.                 </xs:complexContent>
  510.             </xs:complexType>
  511.             <!-- ************************************************************************************* OrderStateType****-->
  512.             <xs:simpleType name="OrderStateType">
  513.                 <xs:annotation>
  514.                     <xs:documentation>Current state of order (at OrderUpdated time).  Wholesale and retail specific orderStates may not be reflected back to the service requestor.</xs:documentation>
  515.                 </xs:annotation>
  516.                 <xs:restriction base="xs:string">
  517.                     <xs:enumeration value="PENDING"/>
  518.                     <xs:enumeration value="VALID"/>
  519.                     <xs:enumeration value="ASSET_IMPORT"/>
  520.                     <xs:enumeration value="PROCESSING"/>
  521.                     <xs:enumeration value="COMPLETED"/>
  522.                     <xs:enumeration value="PAUSED"/>
  523.                     <xs:enumeration value="CANCELLED"/>
  524.                     <xs:enumeration value="SHIPPED"/>
  525.                     <xs:enumeration value="READY_FOR_PICKUP"/>
  526.                     <xs:enumeration value="PICKED_UP"/>
  527.                     <xs:enumeration value="FAILED"/>
  528.                 </xs:restriction>
  529.             </xs:simpleType>
  530.             <!-- CPXE PRODUCT Last edited: Feb 28, 2003
  531.         V1.00    Feb 28, 2003    candidate release, fix KeyValueAssetInfoType and KeyValueAssetOriginatorType, and "None" reasonValues
  532.         V0.60 - Jan 14, 2003- Changed asset id to xs:ID, assetRef to xs:IDREF, shippingInfo moved to packageInfoList
  533.         V0.51 - Nov 15, 2002 - Updated the version number only
  534.         V0.5 -
  535.         V0.4 - Oct. 12, 2002     baseline
  536.     -->
  537.             <!-- ************************************************************************************* ProductListType-->
  538.             <xs:complexType name="ProductListType">
  539.                 <xs:annotation>
  540.                     <xs:documentation>A list of products</xs:documentation>
  541.                 </xs:annotation>
  542.                 <xs:sequence>
  543.                     <xs:element name="product" type="cpxe:ProductType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  544.                 </xs:sequence>
  545.             </xs:complexType>
  546.             <!-- ************************************************************************************* ProductType-->
  547.             <xs:complexType name="ProductType">
  548.                 <xs:annotation>
  549.                     <xs:documentation>A Product contains a reference to the product in a catalog and price information.  It optionally also carries all applicable product options choices, and any information a manufacturer needs to attach to the order for this product.</xs:documentation>
  550.                 </xs:annotation>
  551.                 <xs:sequence>
  552.                     <xs:element name="productPropertyList" type="cpxe:PropertyRefSingleChoiceListType" nillable="true" minOccurs="0">
  553.                         <xs:annotation>
  554.                             <xs:documentation>The productPropertyList contains a set of properties (by reference) whose element content is the choiceValue/Name with optional xlink:href to choice.</xs:documentation>
  555.                         </xs:annotation>
  556.                     </xs:element>
  557.                     <xs:element name="charge" type="cpxe:ChargeType" nillable="true" minOccurs="0" maxOccurs="unbounded">
  558.                         <xs:annotation>
  559.                             <xs:documentation>This charge captures the total charge for this product.  That is:  the unit product cost x product quantity.  Other charges may be captured in the packageInfo or packageInfo/itemList.</xs:documentation>
  560.                         </xs:annotation>
  561.                     </xs:element>
  562.                     <xs:element name="cpxeAssetRefList" type="cpxe:AssetRefListType" nillable="true" minOccurs="0">
  563.                         <xs:annotation>
  564.                             <xs:documentation>References to assets needed to produce this product</xs:documentation>
  565.                         </xs:annotation>
  566.                     </xs:element>
  567.                     <xs:element name="quantity" type="xs:int" nillable="true" minOccurs="0">
  568.                         <xs:annotation>
  569.                             <xs:documentation>The total number of this product to produce.  If unspecified, the quantity defaults to '1'.</xs:documentation>
  570.                         </xs:annotation>
  571.                     </xs:element>
  572.                 </xs:sequence>
  573.                 <xs:attribute name="id" type="xs:ID" use="required"/>
  574.                 <xs:attribute ref="xlink:href"/>
  575.             </xs:complexType>
  576.             <!-- ************************************************************************************* PackageInfoType-->
  577.             <xs:complexType name="PackageInfoListType">
  578.                 <xs:sequence>
  579.                     <xs:element name="packageInfo" type="cpxe:PackageInfoType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  580.                 </xs:sequence>
  581.             </xs:complexType>
  582.             <xs:complexType name="PackageInfoType">
  583.                 <xs:sequence>
  584.                     <xs:element name="shipTo" type="cpxe:IdrefType" nillable="true" minOccurs="0">
  585.                         <xs:annotation>
  586.                             <xs:documentation>This specifies the shipping address for this package.</xs:documentation>
  587.                         </xs:annotation>
  588.                     </xs:element>
  589.                     <xs:element name="charge" type="cpxe:ChargeType" nillable="true" minOccurs="0" maxOccurs="unbounded">
  590.                         <xs:annotation>
  591.                             <xs:documentation>Charges at this level (e.g. shipping, taxes, handling) are applicable to the line item for the quantity specified.  Package-level charges may either be rolled up at the packageList level, or allocated to the line item.  Charges at the productList/product, packageInfo/packingList and packageInfo/packingList/item levels may be allocated differently, but the never overlap.</xs:documentation>
  592.                         </xs:annotation>
  593.                     </xs:element>
  594.                     <xs:element name="carrier" type="cpxe:CarrierType" nillable="true" minOccurs="0"/>
  595.                     <xs:element name="packingList" type="cpxe:ItemListType" nillable="true" minOccurs="0"/>
  596.                     <xs:element name="deliveryDate" type="xs:dateTime" minOccurs="0"/>
  597.                     <xs:element name="shippingDetail" type="cpxe:DetailType" nillable="true" minOccurs="0" maxOccurs="unbounded">
  598.                         <xs:annotation>
  599.                             <xs:documentation>Describes other info related to shipping, such as carrier, special instructions.</xs:documentation>
  600.                         </xs:annotation>
  601.                     </xs:element>
  602.                 </xs:sequence>
  603.             </xs:complexType>
  604.             <!-- ************************************************************************************* CarrierType****-->
  605.             <xs:complexType name="CarrierType">
  606.                 <xs:sequence>
  607.                     <xs:element name="name" type="cpxe:String255Type" nillable="true" minOccurs="0">
  608.                         <xs:annotation>
  609.                             <xs:documentation>Name of carrier.  Example: Name="FedEx"</xs:documentation>
  610.                         </xs:annotation>
  611.                     </xs:element>
  612.                     <xs:element name="method" type="cpxe:String255Type" nillable="true" minOccurs="0">
  613.                         <xs:annotation>
  614.                             <xs:documentation>Method of shipment.  Example: Method="Next day"</xs:documentation>
  615.                         </xs:annotation>
  616.                     </xs:element>
  617.                     <xs:element name="trackingId" type="cpxe:String255Type" nillable="true" minOccurs="0">
  618.                         <xs:annotation>
  619.                             <xs:documentation>Carrier's tracking Id. Example: trackingId="039845875398ASB"</xs:documentation>
  620.                         </xs:annotation>
  621.                     </xs:element>
  622.                 </xs:sequence>
  623.             </xs:complexType>
  624.             <!-- ************************************************************************************* ItemType****-->
  625.             <xs:complexType name="ItemListType">
  626.                 <xs:sequence>
  627.                     <xs:element name="item" type="cpxe:ItemType" maxOccurs="unbounded"/>
  628.                 </xs:sequence>
  629.             </xs:complexType>
  630.             <xs:complexType name="ItemType">
  631.                 <xs:sequence>
  632.                     <xs:element name="quantity" type="xs:int"/>
  633.                     <xs:element name="charge" type="cpxe:ChargeType" nillable="true" minOccurs="0" maxOccurs="unbounded">
  634.                         <xs:annotation>
  635.                             <xs:documentation>Charges at this level (e.g. shipping, taxes, handling) are applicable to the line item for the quantity specified.  Package-level charges may either be rolled up at the packageList level, or allocated to the line item.  Charges at the productList/product, packageInfo/packingList and packageInfo/packingList/item levels may be allocated differently, but the never overlap.</xs:documentation>
  636.                         </xs:annotation>
  637.                     </xs:element>
  638.                 </xs:sequence>
  639.                 <xs:attribute name="idref" type="xs:IDREF" use="required">
  640.                     <xs:annotation>
  641.                         <xs:documentation>This IDREF points to the product ID in this order.</xs:documentation>
  642.                     </xs:annotation>
  643.                 </xs:attribute>
  644.             </xs:complexType>
  645.             <!-- ************************************************************************************* AssetStatusType-->
  646.             <xs:complexType name="AssetStatusType" abstract="true">
  647.                 <xs:annotation>
  648.                     <xs:documentation>Base class for defining asset status</xs:documentation>
  649.                 </xs:annotation>
  650.             </xs:complexType>
  651.             <!-- ************************************************************************************* ImageStatus-->
  652.             <xs:complexType name="ImageStatusType">
  653.                 <xs:annotation>
  654.                     <xs:documentation>Extensions to AssetStatusType for images</xs:documentation>
  655.                 </xs:annotation>
  656.                 <xs:complexContent>
  657.                     <xs:extension base="cpxe:AssetStatusType">
  658.                         <xs:sequence>
  659.                             <xs:element name="status" type="cpxe:ImageStatusValue"/>
  660.                             <xs:element name="reason" type="cpxe:ImageReasonValue" minOccurs="0" default="None"/>
  661.                         </xs:sequence>
  662.                     </xs:extension>
  663.                 </xs:complexContent>
  664.             </xs:complexType>
  665.             <xs:simpleType name="ImageStatusValue">
  666.                 <xs:restriction base="xs:string">
  667.                     <xs:enumeration value="Waiting"/>
  668.                     <xs:enumeration value="InProgress"/>
  669.                     <xs:enumeration value="Complete"/>
  670.                     <xs:enumeration value="Failed"/>
  671.                 </xs:restriction>
  672.             </xs:simpleType>
  673.             <xs:simpleType name="ImageReasonValue">
  674.                 <xs:restriction base="xs:string">
  675.                     <xs:enumeration value="None"/>
  676.                     <xs:enumeration value="LeaseTypeExpired"/>
  677.                     <xs:enumeration value="InvalidFormat"/>
  678.                     <xs:enumeration value="BrokenConnection"/>
  679.                     <xs:enumeration value="InvalidFileSize"/>
  680.                 </xs:restriction>
  681.             </xs:simpleType>
  682.             <!-- ************************************************************************************* AssetListType-->
  683.             <xs:complexType name="AssetListType">
  684.                 <xs:annotation>
  685.                     <xs:documentation>A list of Assets (images, mp3, whatever...)</xs:documentation>
  686.                 </xs:annotation>
  687.                 <xs:complexContent>
  688.                     <xs:extension base="cpxe:ResultType">
  689.                         <xs:sequence>
  690.                             <xs:element name="asset" type="cpxe:AssetType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  691.                         </xs:sequence>
  692.                     </xs:extension>
  693.                 </xs:complexContent>
  694.             </xs:complexType>
  695.             <xs:complexType name="AssetRefListType">
  696.                 <xs:annotation>
  697.                     <xs:documentation>A list of Asset Refs (images, mp3, whatever...)</xs:documentation>
  698.                 </xs:annotation>
  699.                 <xs:sequence>
  700.                     <xs:element name="assetRef" type="cpxe:IdrefType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  701.                 </xs:sequence>
  702.             </xs:complexType>
  703.             <!-- ************************************************************************************* AssetType-->
  704.             <xs:complexType name="AssetType">
  705.                 <xs:annotation>
  706.                     <xs:documentation>Complete description of a single asset (image, mp3, whatever...), consisting of a status, an original asset and (optional) multiple derivative assets.  The AssetType is used to manage the transfer of assets from a requestor to a provider.  Note that the protocol is explicitly part of the URI.  If the requestor wants to POST an asset, the requestor need only define a SourceURI of type 'file:', and after order authorization, the provider will fill in the DestinationURI with a POST address.  If the requestor wants the provider to GET the asset, then it should specify a SourceURI of type 'http:', and after an order has been authorized, the service provider will GET the asset data from this address.  Transfers by other protocols are TBD.</xs:documentation>
  707.                 </xs:annotation>
  708.                 <xs:sequence>
  709.                     <xs:element name="assetStatus" type="cpxe:AssetStatusType"/>
  710.                     <xs:element name="assetOriginal" type="cpxe:DerivativeType"/>
  711.                     <xs:element name="assetDerivative" type="cpxe:DerivativeType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  712.                     <xs:element name="assetOriginator" type="cpxe:AssetOriginatorType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  713.                 </xs:sequence>
  714.             </xs:complexType>
  715.             <!-- ************************************************************************************* AssetOriginatorType-->
  716.             <xs:complexType name="AssetOriginatorType" abstract="true">
  717.                 <xs:annotation>
  718.                     <xs:documentation>Base class for defining origination information about an asset</xs:documentation>
  719.                 </xs:annotation>
  720.             </xs:complexType>
  721.             <xs:complexType name="KeyValueAssetOriginatorType">
  722.                 <xs:complexContent>
  723.                     <xs:extension base="cpxe:AssetOriginatorType">
  724.                         <xs:sequence>
  725.                             <xs:element name="detail" type="cpxe:KeyValueType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  726.                         </xs:sequence>
  727.                     </xs:extension>
  728.                 </xs:complexContent>
  729.             </xs:complexType>
  730.             <!-- ************************************************************************************* AssetInfoType-->
  731.             <xs:complexType name="AssetInfoType" abstract="true">
  732.                 <xs:annotation>
  733.                     <xs:documentation>Base class for defining general information about an asset</xs:documentation>
  734.                 </xs:annotation>
  735.             </xs:complexType>
  736.             <xs:complexType name="KeyValueAssetInfoType">
  737.                 <xs:complexContent>
  738.                     <xs:extension base="cpxe:AssetInfoType">
  739.                         <xs:sequence>
  740.                             <xs:element name="detail" type="cpxe:KeyValueType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  741.                         </xs:sequence>
  742.                     </xs:extension>
  743.                 </xs:complexContent>
  744.             </xs:complexType>
  745.             <!-- ************************************************************************************* DerivativeType-->
  746.             <xs:complexType name="DerivativeType">
  747.                 <xs:annotation>
  748.                     <xs:documentation>Base class for specfying Asset derivatives.  The DerivativeType is used by both AssetOriginal and AssetDerivative.  </xs:documentation>
  749.                 </xs:annotation>
  750.                 <xs:sequence>
  751.                     <xs:element name="sourceUri" type="cpxe:UrlLeaseType">
  752.                         <xs:annotation>
  753.                             <xs:documentation>The source URI of the asset derivative.    Example:  sourceUri"file://C|/Images/smiley.jpg</xs:documentation>
  754.                         </xs:annotation>
  755.                     </xs:element>
  756.                     <xs:element name="destinationUri" type="cpxe:UrlLeaseType" nillable="true" minOccurs="0">
  757.                         <xs:annotation>
  758.                             <xs:documentation>The destination URI of the asset derivative that a requestor can post to. Example: destinationUri="http://www.blueSky.com/upload/XP08647.jpg" </xs:documentation>
  759.                         </xs:annotation>
  760.                     </xs:element>
  761.                     <xs:element name="assetInfo" type="cpxe:AssetInfoType" nillable="true" minOccurs="0">
  762.                         <xs:annotation>
  763.                             <xs:documentation>An abstract area that may be used to provide additional information about an asset." </xs:documentation>
  764.                         </xs:annotation>
  765.                     </xs:element>
  766.                     <xs:element name="fileName" type="cpxe:String4000Type" nillable="true" minOccurs="0">
  767.                         <xs:annotation>
  768.                             <xs:documentation>fileName is an optional element intended to carry the name of the file, with no path information.  It is for documentation purposes only.</xs:documentation>
  769.                         </xs:annotation>
  770.                     </xs:element>
  771.                     <xs:element name="mimeType" type="cpxe:String255Type"/>
  772.                 </xs:sequence>
  773.                 <xs:attribute name="id" type="xs:ID" use="required"/>
  774.             </xs:complexType>
  775.             <!-- ************************************************************************************* ImageAssetType -->
  776.             <xs:complexType name="ImageAssetType">
  777.                 <xs:complexContent>
  778.                     <xs:extension base="cpxe:DerivativeType">
  779.                         <xs:sequence>
  780.                             <xs:element name="width" type="xs:int"/>
  781.                             <xs:element name="height" type="xs:int"/>
  782.                             <xs:element name="imageType" type="cpxe:ImageType"/>
  783.                         </xs:sequence>
  784.                     </xs:extension>
  785.                 </xs:complexContent>
  786.             </xs:complexType>
  787.             <xs:simpleType name="ImageType">
  788.                 <xs:restriction base="xs:string">
  789.                     <xs:enumeration value="Thumbnail"/>
  790.                     <xs:enumeration value="HighResolution"/>
  791.                     <xs:enumeration value="ScreenResolution"/>
  792.                     <xs:enumeration value="Icon"/>
  793.                 </xs:restriction>
  794.             </xs:simpleType>
  795.             <!-- ************************************************************************************* FileAssetType -->
  796.             <xs:complexType name="FileAssetType">
  797.                 <xs:complexContent>
  798.                     <xs:extension base="cpxe:DerivativeType"/>
  799.                 </xs:complexContent>
  800.             </xs:complexType>
  801.             <!-- ************************************************************************************* FileAssetStatusType-->
  802.             <xs:complexType name="FileAssetStatusType">
  803.                 <xs:annotation>
  804.                     <xs:documentation>Extensions to AssetStatusType for generic files</xs:documentation>
  805.                 </xs:annotation>
  806.                 <xs:complexContent>
  807.                     <xs:extension base="cpxe:AssetStatusType">
  808.                         <xs:sequence>
  809.                             <xs:element name="status" type="cpxe:FileAssetStatusValue"/>
  810.                             <xs:element name="reason" type="cpxe:FileAssetReasonValue" minOccurs="0" default="None"/>
  811.                         </xs:sequence>
  812.                     </xs:extension>
  813.                 </xs:complexContent>
  814.             </xs:complexType>
  815.             <xs:simpleType name="FileAssetStatusValue">
  816.                 <xs:restriction base="xs:string">
  817.                     <xs:enumeration value="Waiting"/>
  818.                     <xs:enumeration value="InProgress"/>
  819.                     <xs:enumeration value="Complete"/>
  820.                     <xs:enumeration value="Failed"/>
  821.                 </xs:restriction>
  822.             </xs:simpleType>
  823.             <xs:simpleType name="FileAssetReasonValue">
  824.                 <xs:restriction base="xs:string">
  825.                     <xs:enumeration value="None"/>
  826.                     <xs:enumeration value="LeaseTypeExpired"/>
  827.                     <xs:enumeration value="InvalidFormat"/>
  828.                     <xs:enumeration value="BrokenConnection"/>
  829.                     <xs:enumeration value="InvalidFileSize"/>
  830.                 </xs:restriction>
  831.             </xs:simpleType>
  832.             <!-- CPXE CATALOG Last edited: Feb 28, 2003
  833.         V1.00    Feb 28, 2003    candidate release, all product and catalog service properties are optional
  834.         V0.60 - Jan 13, 2003    added serviceProperties; excludedOrderCountries & excludedDeliveryCountries, catalogBaseUrl
  835.         V0.50 - Nov 1, 2002        propertyChoiceRef list definition
  836.         V0.5  - Oct 28, 2002    added default choice, infoUrl links for choiceRefs and choiceValues
  837.         V0.4  - Oct 12, 2002     baseline
  838.     -->
  839.             <xs:element name="Catalog" type="cpxe:CatalogType"/>
  840.             <xs:complexType name="CatalogType">
  841.                 <xs:complexContent>
  842.                     <xs:extension base="cpxe:ResultType">
  843.                         <xs:sequence>
  844.                             <xs:element name="servicePropertyList" type="cpxe:ServicePropertyListType" nillable="true" minOccurs="0"/>
  845.                             <xs:element name="storeList" type="cpxe:StoreListType" nillable="true" minOccurs="0"/>
  846.                             <xs:element name="productList" type="cpxe:CatalogProductListType" nillable="true" minOccurs="0"/>
  847.                             <xs:element name="priceList" type="cpxe:PriceListType" nillable="true" minOccurs="0"/>
  848.                             <xs:element name="categoryList" type="cpxe:CategoryListType" nillable="true" minOccurs="0"/>
  849.                             <xs:element name="propertyList" type="cpxe:PropertyListType" nillable="true" minOccurs="0"/>
  850.                             <xs:element name="choiceList" type="cpxe:ChoiceListType" nillable="true" minOccurs="0"/>
  851.                         </xs:sequence>
  852.                         <xs:attribute name="version" type="cpxe:UidType" use="required" fixed="100"/>
  853.                         <xs:attribute name="contentId" type="cpxe:UidType" use="required"/>
  854.                         <xs:attribute ref="xml:lang" use="required"/>
  855.                     </xs:extension>
  856.                 </xs:complexContent>
  857.             </xs:complexType>
  858.             <!-- ************************************************************************************* ServicePropertyListType -->
  859.             <xs:complexType name="ServicePropertyListType">
  860.                 <xs:sequence>
  861.                     <xs:element name="deliveryTimes" type="cpxe:PropertyChoiceListType"/>
  862.                     <xs:element name="deliveryDestinations" type="cpxe:PropertyChoiceListType"/>
  863.                     <!-- either orderCountries or excludedOrderCountries must occur in the service property list, and not both -->
  864.                     <xs:element name="orderCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  865.                     <xs:element name="excludedOrderCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  866.                     <!-- either deliveryCountries or excludedDeliveryCountries must occur in the service property list, and not both -->
  867.                     <xs:element name="deliveryCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  868.                     <xs:element name="excludedDeliveryCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  869.                     <xs:element name="manufacturingCountries" type="cpxe:PropertyChoiceListType"/>
  870.                     <xs:element name="termsAndConditions" type="cpxe:PropertyChoiceListType"/>
  871.                     <xs:element name="privacyPolicy" type="cpxe:PropertyChoiceListType"/>
  872.                     <xs:element name="shippingInformation" type="cpxe:PropertyChoiceListType"/>
  873.                     <xs:element name="effectivityDate" type="cpxe:PropertyChoiceListType"/>
  874.                     <xs:element name="expirationDate" type="cpxe:PropertyChoiceListType"/>
  875.                     <xs:element name="catalogLanguages" type="cpxe:PropertyChoiceListType"/>
  876.                     <xs:element name="catalogId" type="cpxe:PropertyChoiceListType"/>
  877.                     <xs:element name="catalogInterface" type="cpxe:PropertyChoiceListType"/>
  878.                     <xs:element name="catalogBaseUrl" type="cpxe:PropertyChoiceListType"/>
  879.                     <xs:element name="productCategories" type="cpxe:PropertyChoiceListType"/>
  880.                     <xs:element name="paymentOptions" type="cpxe:PropertyChoiceListType"/>
  881.                     <xs:element name="paymentMethods" type="cpxe:PropertyChoiceListType"/>
  882.                     <xs:element name="paymentChoices" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  883.                     <xs:element name="currencies" type="cpxe:PropertyChoiceListType"/>
  884.                     <xs:element name="serviceName" type="cpxe:PropertyChoiceListType"/>
  885.                     <xs:element name="serviceLogo" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  886.                     <xs:element name="minChargeInformation" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  887.                     <xs:element name="handlingFeeInformation" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  888.                     <xs:element name="paymentMethodFeeInformation" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  889.                     <xs:element name="promotionInformation" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  890.                     <xs:element name="generalInformation" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  891.                     <xs:element name="serviceLanguages" type="cpxe:PropertyChoiceListType"/>
  892.                     <xs:element name="defaultLanguage" type="cpxe:PropertyChoiceListType"/>
  893.                     <xs:element name="profileIdentifierList" type="cpxe:PropertyChoiceListType"/>
  894.                     <xs:element name="defaultProduct" type="cpxe:PropertyChoiceListType"/>
  895.                     <xs:element name="maxLeaseDuration" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  896.                     <xs:element name="maxNumberOfLineItems" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  897.                     <xs:element name="maxProductQuantity" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  898.                     <xs:element name="maxNumberOfAssets" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  899.                     <xs:element name="maxAssetSize" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  900.                     <xs:element name="uploadModel" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  901.                     <xs:element name="mimeType" type="cpxe:PropertyChoiceListType"/>
  902.                     <xs:element name="scaling" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  903.                     <xs:element name="borderPrint" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  904.                     <!-- if an application has been defined for the service, then the application languages and browser properties all MUST be defined, else, none of the properties must be defined. -->
  905.                     <xs:element name="applicationLanguages" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  906.                     <xs:element name="browserId" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  907.                     <xs:element name="browserMinWidth" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  908.                     <xs:element name="browserMinHeight" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  909.                     <xs:element name="browserEmbedding" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  910.                 </xs:sequence>
  911.             </xs:complexType>
  912.             <!-- ************************************************************************************* Product_ServicePropertyListType -->
  913.             <xs:complexType name="Product_ServicePropertyListType">
  914.                 <xs:sequence>
  915.                     <xs:element name="deliveryTimes" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  916.                     <xs:element name="deliveryDestinations" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  917.                     <!-- either orderCountries or excludedOrderCountries MAY occur in the service property list, and not both -->
  918.                     <xs:element name="orderCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  919.                     <xs:element name="excludedOrderCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  920.                     <!-- either deliveryCountries or excludedDeliveryCountries MAY occur in the service property list, and not both -->
  921.                     <xs:element name="deliveryCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  922.                     <xs:element name="excludedDeliveryCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  923.                     <xs:element name="manufacturingCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  924.                     <xs:element name="effectivityDate" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  925.                     <xs:element name="expirationDate" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  926.                     <xs:element name="maxProductQuantity" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  927.                     <xs:element name="mimeType" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  928.                     <xs:element name="scaling" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  929.                     <xs:element name="borderPrint" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  930.                 </xs:sequence>
  931.             </xs:complexType>
  932.             <!-- ************************************************************************************* Category_ServicePropertyListType -->
  933.             <xs:complexType name="Category_ServicePropertyListType">
  934.                 <xs:sequence>
  935.                     <xs:element name="deliveryTimes" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  936.                     <xs:element name="deliveryDestinations" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  937.                     <!-- either orderCountries or excludedOrderCountries MAY occur in the service property list, and not both -->
  938.                     <xs:element name="orderCountries" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  939.                     <xs:element name="excludedOrderCountries" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  940.                     <!-- either deliveryCountries or excludedDeliveryCountries MAY occur in the service property list, and not both -->
  941.                     <xs:element name="deliveryCountries" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  942.                     <xs:element name="excludedDeliveryCountries" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  943.                     <xs:element name="manufacturingCountries" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  944.                     <xs:element name="effectivityDate" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  945.                     <xs:element name="expirationDate" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  946.                     <xs:element name="maxProductQuantity" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  947.                     <xs:element name="mimeType" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  948.                     <xs:element name="scaling" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  949.                     <xs:element name="borderPrint" type="cpxe:HrefType" nillable="true" minOccurs="0"/>
  950.                 </xs:sequence>
  951.             </xs:complexType>
  952.             <!-- ************************************************************************************* Store_ServicePropertyListType -->
  953.             <xs:complexType name="Store_ServicePropertyListType">
  954.                 <xs:sequence>
  955.                     <xs:element name="deliveryTimes" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  956.                     <xs:element name="deliveryDestinations" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  957.                     <!-- either orderCountries or excludedOrderCountries MAY occur in the service property list, and not both -->
  958.                     <xs:element name="orderCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  959.                     <xs:element name="excludedOrderCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  960.                     <!-- either deliveryCountries or excludedDeliveryCountries MAY occur in the service property list, and not both -->
  961.                     <xs:element name="deliveryCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  962.                     <xs:element name="excludedDeliveryCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  963.                     <xs:element name="manufacturingCountries" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  964.                     <xs:element name="productCategories" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  965.                     <xs:element name="paymentOptions" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  966.                     <xs:element name="paymentMethods" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  967.                     <xs:element name="paymentChoices" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  968.                     <xs:element name="currencies" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  969.                     <xs:element name="serviceName" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  970.                     <xs:element name="serviceLogo" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  971.                     <xs:element name="promotionInformation" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  972.                     <xs:element name="generalInformation" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  973.                     <xs:element name="mimeType" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  974.                     <xs:element name="scaling" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  975.                     <xs:element name="borderPrint" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0"/>
  976.                 </xs:sequence>
  977.             </xs:complexType>
  978.             <!-- ************************************************************************************* StoreInfoType-->
  979.             <xs:complexType name="StoreListType">
  980.                 <xs:sequence>
  981.                     <xs:element name="storeInfo" type="cpxe:StoreInfoType" nillable="true" maxOccurs="unbounded"/>
  982.                 </xs:sequence>
  983.             </xs:complexType>
  984.             <xs:complexType name="StoreInfoType">
  985.                 <xs:sequence>
  986.                     <xs:element name="storeName" type="cpxe:String255Type"/>
  987.                     <xs:element name="shortName" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  988.                     <xs:element name="description" type="cpxe:String4000Type" nillable="true" minOccurs="0"/>
  989.                     <!--points to the store's web site -->
  990.                     <xs:element name="infoUrl" type="cpxe:UrlType" nillable="true" minOccurs="0"/>
  991.                     <xs:element name="storeLogo" type="xs:anyURI" nillable="true" minOccurs="0"/>
  992.                     <xs:element name="address" type="cpxe:AddressType"/>
  993.                     <!--points to a map to the store-->
  994.                     <xs:element name="map" type="xs:anyURI" nillable="true" minOccurs="0"/>
  995.                     <xs:element name="directions" type="cpxe:String4000Type" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  996.                     <xs:element name="storeHours" type="cpxe:String4000Type" nillable="true" minOccurs="0"/>
  997.                     <xs:element name="servicePropertyList" type="cpxe:Store_ServicePropertyListType" nillable="true" minOccurs="0"/>
  998.                 </xs:sequence>
  999.                 <xs:attribute name="id" type="xs:ID" use="required"/>
  1000.             </xs:complexType>
  1001.             <!-- ************************************************************************************* CatalogProductListType-->
  1002.             <xs:complexType name="CatalogProductListType">
  1003.                 <xs:sequence>
  1004.                     <xs:element name="product" type="cpxe:CatalogProductType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1005.                 </xs:sequence>
  1006.             </xs:complexType>
  1007.             <xs:complexType name="CatalogProductType">
  1008.                 <xs:complexContent>
  1009.                     <xs:extension base="cpxe:CatalogBaseType">
  1010.                         <xs:sequence>
  1011.                             <xs:element name="categoryRef" type="cpxe:HrefType"/>
  1012.                             <xs:element name="kitPartsList" type="cpxe:KitPartsListType" nillable="true" minOccurs="0"/>
  1013.                             <xs:element name="servicePropertyList" type="cpxe:Product_ServicePropertyListType" nillable="true" minOccurs="0"/>
  1014.                             <xs:element name="productPropertyList" type="cpxe:PropertyChoiceRefListType" nillable="true" minOccurs="0"/>
  1015.                             <!--  kitPartsList: value meal parts list.-->
  1016.                             <!--  ServiceProperties that may be overridden   -->
  1017.                             <!--  Product properties defined for this product. -->
  1018.                         </xs:sequence>
  1019.                     </xs:extension>
  1020.                 </xs:complexContent>
  1021.             </xs:complexType>
  1022.             <!-- ************************************************************************************* PriceListType-->
  1023.             <xs:complexType name="PriceListType">
  1024.                 <xs:sequence>
  1025.                     <xs:element name="product" type="cpxe:PriceList" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1026.                 </xs:sequence>
  1027.             </xs:complexType>
  1028.             <xs:complexType name="PriceList">
  1029.                 <xs:sequence>
  1030.                     <xs:element name="price" type="cpxe:PriceType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1031.                 </xs:sequence>
  1032.                 <xs:attribute ref="xlink:href" use="required"/>
  1033.             </xs:complexType>
  1034.             <xs:complexType name="PriceType">
  1035.                 <xs:sequence>
  1036.                     <xs:element name="money" type="cpxe:MoneyType"/>
  1037.                     <xs:element name="taxIncluded" type="xs:boolean"/>
  1038.                     <xs:element name="taxDescription" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1039.                 </xs:sequence>
  1040.             </xs:complexType>
  1041.             <!-- ************************************************************************************* KitPartsListType-->
  1042.             <xs:complexType name="KitPartsListType">
  1043.                 <xs:sequence>
  1044.                     <xs:element name="kitPart" type="cpxe:KitPartType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1045.                     <!--A list of parts needed to make this product -->
  1046.                 </xs:sequence>
  1047.             </xs:complexType>
  1048.             <xs:complexType name="KitPartType">
  1049.                 <xs:sequence>
  1050.                     <xs:element name="minQuantity" type="xs:int"/>
  1051.                     <xs:element name="maxQuantity" type="xs:int" nillable="true" minOccurs="0"/>
  1052.                     <xs:element name="required" type="xs:boolean" default="true" nillable="true" minOccurs="0"/>
  1053.                 </xs:sequence>
  1054.                 <xs:attribute ref="xlink:href" use="required"/>
  1055.             </xs:complexType>
  1056.             <!-- ************************************************************************************* CatalogBaseListType****-->
  1057.             <xs:complexType name="CatalogBaseListType">
  1058.                 <xs:sequence>
  1059.                     <xs:element name="item" type="cpxe:CatalogBaseType" maxOccurs="unbounded"/>
  1060.                 </xs:sequence>
  1061.             </xs:complexType>
  1062.             <xs:complexType name="CatalogBaseType">
  1063.                 <xs:sequence>
  1064.                     <xs:element name="name" type="cpxe:String4000Type" nillable="true" minOccurs="0"/>
  1065.                     <xs:element name="definition" type="cpxe:String4000Type" nillable="true" minOccurs="0"/>
  1066.                     <xs:element name="infoUrl" type="cpxe:UrlType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1067.                 </xs:sequence>
  1068.                 <xs:attribute name="id" type="xs:ID" use="required"/>
  1069.             </xs:complexType>
  1070.             <!-- ************************************************************************************* CategoryListType-->
  1071.             <xs:complexType name="CategoryListType">
  1072.                 <xs:sequence>
  1073.                     <xs:element name="category" type="cpxe:CategoryType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1074.                 </xs:sequence>
  1075.             </xs:complexType>
  1076.             <xs:complexType name="CategoryType">
  1077.                 <xs:complexContent>
  1078.                     <xs:extension base="cpxe:CatalogBaseType">
  1079.                         <xs:sequence>
  1080.                             <xs:element name="servicePropertyRefList" type="cpxe:Category_ServicePropertyListType" nillable="true" minOccurs="0"/>
  1081.                             <xs:element name="propertyRefList" type="cpxe:PropertyRefListType" nillable="true" minOccurs="0"/>
  1082.                         </xs:sequence>
  1083.                     </xs:extension>
  1084.                 </xs:complexContent>
  1085.             </xs:complexType>
  1086.             <!-- ************************************************************************************* PropertyListType-->
  1087.             <xs:complexType name="PropertyListType">
  1088.                 <xs:sequence>
  1089.                     <xs:element name="property" type="cpxe:PropertyType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1090.                 </xs:sequence>
  1091.             </xs:complexType>
  1092.             <xs:complexType name="PropertyType">
  1093.                 <xs:complexContent>
  1094.                     <xs:extension base="cpxe:CatalogBaseType">
  1095.                         <xs:sequence>
  1096.                             <xs:element name="choiceType" type="cpxe:String255Type" nillable="true" minOccurs="0">
  1097.                                 <xs:annotation>
  1098.                                     <xs:documentation>The choiceType is used to describe the 'type' of the choice.  It is optional, typically described as an XML schema type.  It is used to describe choices too numerous to list, for example length choiceType is xs:integer</xs:documentation>
  1099.                                 </xs:annotation>
  1100.                             </xs:element>
  1101.                             <xs:element name="choiceList" type="cpxe:ChoiceListType" nillable="true" minOccurs="0"/>
  1102.                         </xs:sequence>
  1103.                     </xs:extension>
  1104.                 </xs:complexContent>
  1105.             </xs:complexType>
  1106.             <xs:complexType name="PropertyChoiceRefListType">
  1107.                 <xs:sequence>
  1108.                     <xs:element name="propertyChoiceRef" type="cpxe:PropertyChoiceListType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1109.                 </xs:sequence>
  1110.             </xs:complexType>
  1111.             <xs:complexType name="PropertyChoiceListType">
  1112.                 <xs:complexContent>
  1113.                     <xs:extension base="cpxe:ChoiceListType">
  1114.                         <xs:attribute ref="xlink:href"/>
  1115.                         <xs:attribute name="required" type="xs:boolean" default="false">
  1116.                             <xs:annotation>
  1117.                                 <xs:documentation>The 'required' attribute is used by service providers to indicate whether a given product property choice MUST be specified in an order, or whether it may default.  If unspecified, the default behavior is that the property choice need not be specified (rely on the default value).</xs:documentation>
  1118.                             </xs:annotation>
  1119.                         </xs:attribute>
  1120.                     </xs:extension>
  1121.                 </xs:complexContent>
  1122.             </xs:complexType>
  1123.             <!-- ************************************************************************************* PropertyRefSingleChoiceListType-->
  1124.             <xs:complexType name="PropertyRefSingleChoiceListType">
  1125.                 <xs:sequence>
  1126.                     <xs:element name="propertyRef" type="cpxe:StringRefType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1127.                 </xs:sequence>
  1128.             </xs:complexType>
  1129.             <xs:complexType name="StringRefType">
  1130.                 <xs:sequence>
  1131.                     <xs:element name="choice" type="cpxe:String4000Type"/>
  1132.                 </xs:sequence>
  1133.                 <xs:attribute ref="xlink:href"/>
  1134.             </xs:complexType>
  1135.             <!-- ************************************************************************************* ChoiceListType-->
  1136.             <xs:complexType name="PropertyRefListType">
  1137.                 <xs:sequence>
  1138.                     <xs:element name="propertyRef" type="cpxe:HrefType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1139.                 </xs:sequence>
  1140.             </xs:complexType>
  1141.             <!-- ************************************************************************************* ChoiceListType-->
  1142.             <xs:complexType name="ChoiceListType">
  1143.                 <xs:sequence>
  1144.                     <xs:element name="choice" type="cpxe:ChoiceType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1145.                     <xs:element name="choiceRef" type="cpxe:ChoiceRefType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1146.                     <xs:element name="choiceValue" type="cpxe:ChoiceValueType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1147.                 </xs:sequence>
  1148.             </xs:complexType>
  1149.             <xs:complexType name="ChoiceType">
  1150.                 <xs:complexContent>
  1151.                     <xs:extension base="cpxe:CatalogBaseType">
  1152.                         <xs:attribute name="defaultChoice" type="xs:boolean" default="false"/>
  1153.                     </xs:extension>
  1154.                 </xs:complexContent>
  1155.             </xs:complexType>
  1156.             <xs:complexType name="ChoiceValueType">
  1157.                 <xs:sequence>
  1158.                     <xs:element name="value" type="cpxe:String64kType"/>
  1159.                     <xs:element name="infoUrl" type="cpxe:UrlType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1160.                 </xs:sequence>
  1161.                 <xs:attribute name="defaultChoice" type="xs:boolean" default="false"/>
  1162.             </xs:complexType>
  1163.             <xs:complexType name="ChoiceRefType">
  1164.                 <xs:sequence>
  1165.                     <xs:element name="name" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1166.                     <xs:element name="infoUrl" type="cpxe:UrlType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1167.                 </xs:sequence>
  1168.                 <xs:attribute name="defaultChoice" type="xs:boolean" default="false"/>
  1169.                 <xs:attribute ref="xlink:href" use="required"/>
  1170.             </xs:complexType>
  1171.             <xs:complexType name="UrlType">
  1172.                 <xs:simpleContent>
  1173.                     <xs:extension base="xs:anyURI">
  1174.                         <xs:attribute name="type" type="cpxe:InfoUrlType"/>
  1175.                     </xs:extension>
  1176.                 </xs:simpleContent>
  1177.             </xs:complexType>
  1178.             <xs:simpleType name="InfoUrlType">
  1179.                 <xs:restriction base="xs:string">
  1180.                     <xs:enumeration value="IconImage"/>
  1181.                     <xs:enumeration value="ThumbnailImage"/>
  1182.                     <xs:enumeration value="ScreenImage"/>
  1183.                     <xs:enumeration value="Text"/>
  1184.                     <xs:enumeration value="Html"/>
  1185.                 </xs:restriction>
  1186.             </xs:simpleType>
  1187.             <!-- CPXE COMMON Last edited: Feb 28, 2003
  1188.         V1.00    Feb 28, 2003    candidate release
  1189.         V0.60 - Jan 14, 2003 - version number change
  1190.         V0.50 - Nov 15, 2002 Just changed the version number
  1191.         V0.5 -
  1192.           V0.4 - Oct. 12, 2002     baseline
  1193.       -->
  1194.             <!-- ************************************************************************************* ResultType-->
  1195.             <xs:complexType name="ResultType" abstract="true"/>
  1196.             <!-- ************************************************************************************* StatusType-->
  1197.             <xs:complexType name="StatusType">
  1198.                 <xs:sequence>
  1199.                     <xs:element name="type" type="cpxe:String255Type"/>
  1200.                     <xs:element name="code" type="cpxe:String255Type"/>
  1201.                     <xs:element name="message" type="cpxe:String255Type"/>
  1202.                     <xs:element name="details" type="cpxe:DetailType" nillable="true" minOccurs="0"/>
  1203.                     <xs:element name="result" type="cpxe:ResultType" nillable="true" minOccurs="0"/>
  1204.                 </xs:sequence>
  1205.             </xs:complexType>
  1206.             <xs:complexType name="String255ListType">
  1207.                 <xs:sequence>
  1208.                     <xs:element name="item" type="cpxe:String255Type" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1209.                 </xs:sequence>
  1210.             </xs:complexType>
  1211.             <xs:simpleType name="String255Type">
  1212.                 <xs:restriction base="xs:string">
  1213.                     <xs:minLength value="0"/>
  1214.                     <xs:maxLength value="255"/>
  1215.                 </xs:restriction>
  1216.             </xs:simpleType>
  1217.             <xs:simpleType name="String4000Type">
  1218.                 <xs:restriction base="xs:string">
  1219.                     <xs:minLength value="0"/>
  1220.                     <xs:maxLength value="4000"/>
  1221.                 </xs:restriction>
  1222.             </xs:simpleType>
  1223.             <xs:simpleType name="String64kType">
  1224.                 <xs:restriction base="xs:string">
  1225.                     <xs:minLength value="0"/>
  1226.                     <xs:maxLength value="65535"/>
  1227.                 </xs:restriction>
  1228.             </xs:simpleType>
  1229.             <xs:complexType name="IdrefType">
  1230.                 <xs:attribute name="idref" type="xs:IDREF" use="required"/>
  1231.             </xs:complexType>
  1232.             <xs:complexType name="HrefType">
  1233.                 <xs:simpleContent>
  1234.                     <xs:extension base="xs:string">
  1235.                         <xs:attribute ref="xlink:href" use="required"/>
  1236.                     </xs:extension>
  1237.                 </xs:simpleContent>
  1238.             </xs:complexType>
  1239.             <xs:complexType name="LabeledStringType">
  1240.                 <xs:simpleContent>
  1241.                     <xs:extension base="cpxe:String4000Type">
  1242.                         <xs:attribute name="type" type="cpxe:String255Type"/>
  1243.                     </xs:extension>
  1244.                 </xs:simpleContent>
  1245.             </xs:complexType>
  1246.             <!-- ************************************************************************************* ListTypes****-->
  1247.             <xs:simpleType name="CountryListType">
  1248.                 <xs:list itemType="iso:CountryType"/>
  1249.             </xs:simpleType>
  1250.             <xs:simpleType name="LanguageListType">
  1251.                 <xs:list itemType="cpxe:LanguageType"/>
  1252.             </xs:simpleType>
  1253.             <xs:simpleType name="CurrencyListType">
  1254.                 <xs:list itemType="iso:CurrencyType"/>
  1255.             </xs:simpleType>
  1256.             <!-- for single namespace testing -->
  1257.             <xs:simpleType name="CountryType">
  1258.                 <xs:restriction base="xs:string">
  1259.                     <xs:pattern value="[a-z]{2,2}"/>
  1260.                 </xs:restriction>
  1261.             </xs:simpleType>
  1262.             <xs:simpleType name="CurrencyType">
  1263.                 <xs:restriction base="xs:string">
  1264.                     <xs:pattern value="[a-z]{3,3}"/>
  1265.                 </xs:restriction>
  1266.             </xs:simpleType>
  1267.             <!-- ************************************************************************************* BrowserIdType****-->
  1268.             <xs:simpleType name="BrowserIdType">
  1269.                 <xs:restriction base="xs:string">
  1270.                     <xs:pattern value="[A-Za-z]{1,50}\s[\d]{1,4}\.[\d]{1,4}"/>
  1271.                 </xs:restriction>
  1272.             </xs:simpleType>
  1273.             <!-- ************************************************************************************* MembershipType-->
  1274.             <xs:complexType name="MembershipType">
  1275.                 <xs:sequence>
  1276.                     <xs:element name="businessKey" type="cpxe:UuidType">
  1277.                         <xs:annotation>
  1278.                             <xs:documentation>The business key assigned to the business when it is registered.</xs:documentation>
  1279.                         </xs:annotation>
  1280.                     </xs:element>
  1281.                     <xs:element name="serviceKey" type="cpxe:UuidType">
  1282.                         <xs:annotation>
  1283.                             <xs:documentation>The service key assigned to the applicaton, device or service when it is registered.</xs:documentation>
  1284.                         </xs:annotation>
  1285.                     </xs:element>
  1286.                 </xs:sequence>
  1287.             </xs:complexType>
  1288.             <!-- ************************************************************************************* ChargeType-->
  1289.             <xs:complexType name="ChargeType">
  1290.                 <xs:annotation>
  1291.                     <xs:documentation>A Money element, coupled with a description of the charge</xs:documentation>
  1292.                 </xs:annotation>
  1293.                 <xs:sequence>
  1294.                     <xs:element name="description" type="cpxe:String255Type">
  1295.                         <xs:annotation>
  1296.                             <xs:documentation>The Description of this charge (tax, line item ship, whatever)</xs:documentation>
  1297.                         </xs:annotation>
  1298.                     </xs:element>
  1299.                     <xs:element name="money" type="cpxe:MoneyType">
  1300.                         <xs:annotation>
  1301.                             <xs:documentation>The amount of this particular charge.</xs:documentation>
  1302.                         </xs:annotation>
  1303.                     </xs:element>
  1304.                 </xs:sequence>
  1305.             </xs:complexType>
  1306.             <!-- ************************************************************************************* MoneyType-->
  1307.             <xs:complexType name="MoneyType">
  1308.                 <xs:annotation>
  1309.                     <xs:documentation>Defines currency.   An amount and currency element.  The currency should reference a valid currency code from ISO Standard 4217.  </xs:documentation>
  1310.                 </xs:annotation>
  1311.                 <xs:sequence>
  1312.                     <xs:element name="amount" type="cpxe:AmountType"/>
  1313.                     <xs:element name="currency" type="iso:CurrencyType" minOccurs="0"/>
  1314.                 </xs:sequence>
  1315.             </xs:complexType>
  1316.             <xs:simpleType name="AmountType">
  1317.                 <xs:restriction base="xs:decimal">
  1318.                     <xs:totalDigits value="20"/>
  1319.                     <xs:fractionDigits value="5"/>
  1320.                 </xs:restriction>
  1321.             </xs:simpleType>
  1322.             <!-- ************************************************************************************* LocaleType-->
  1323.             <xs:complexType name="LocaleType">
  1324.                 <xs:sequence>
  1325.                     <xs:element name="languageCode" type="cpxe:LanguageType"/>
  1326.                     <xs:element name="countryCode" type="iso:CountryType" minOccurs="0"/>
  1327.                 </xs:sequence>
  1328.             </xs:complexType>
  1329.             <!-- ************************************************************************************* LanguageType-->
  1330.             <xs:simpleType name="LanguageType">
  1331.                 <xs:annotation>
  1332.                     <xs:documentation>The element should reference a valid language 2-letter code from ISO Standard 639. </xs:documentation>
  1333.                 </xs:annotation>
  1334.                 <xs:restriction base="xs:string">
  1335.                     <xs:pattern value="([a-z]{2,3})|([a-z]{2,3}-[a-z]{2})|(x-[a-z]{3})"/>
  1336.                 </xs:restriction>
  1337.             </xs:simpleType>
  1338.             <!-- ************************************************************************************* DetailType-->
  1339.             <xs:complexType name="DetailType" abstract="true"/>
  1340.             <xs:complexType name="KeyValueDetailsType">
  1341.                 <xs:complexContent>
  1342.                     <xs:extension base="cpxe:DetailType">
  1343.                         <xs:sequence>
  1344.                             <xs:element name="detail" type="cpxe:KeyValueType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1345.                         </xs:sequence>
  1346.                     </xs:extension>
  1347.                 </xs:complexContent>
  1348.             </xs:complexType>
  1349.             <xs:complexType name="LabeledDetailsType">
  1350.                 <xs:complexContent>
  1351.                     <xs:extension base="cpxe:DetailType">
  1352.                         <xs:sequence>
  1353.                             <xs:element name="detail" type="cpxe:LabeledStringType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1354.                         </xs:sequence>
  1355.                     </xs:extension>
  1356.                 </xs:complexContent>
  1357.             </xs:complexType>
  1358.             <!-- ************************************************************************************* UuidType-->
  1359.             <xs:simpleType name="UuidType">
  1360.                 <xs:annotation>
  1361.                     <xs:documentation>Format for uuid which is any alphabetic in the format 8-4-4-4-12.</xs:documentation>
  1362.                 </xs:annotation>
  1363.                 <xs:restriction base="xs:string">
  1364.                     <xs:pattern value="[A-F0-9]{8}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{4}-[A-F0-9]{12}[a-zA-Z0-9_\-]{0,50}"/>
  1365.                 </xs:restriction>
  1366.             </xs:simpleType>
  1367.             <xs:simpleType name="UidType">
  1368.                 <xs:annotation>
  1369.                     <xs:documentation>Format for ID parameters used in the CPXe specification. </xs:documentation>
  1370.                 </xs:annotation>
  1371.                 <xs:restriction base="xs:string">
  1372.                     <xs:pattern value="[a-zA-Z0-9.\-_\{\}]{1,96}"/>
  1373.                 </xs:restriction>
  1374.             </xs:simpleType>
  1375.             <!-- ************************************************************************************* KeyValueType -->
  1376.             <xs:complexType name="KeyValueListType">
  1377.                 <xs:complexContent>
  1378.                     <xs:extension base="cpxe:ResultType">
  1379.                         <xs:sequence>
  1380.                             <xs:element name="property" type="cpxe:KeyValueType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1381.                         </xs:sequence>
  1382.                     </xs:extension>
  1383.                 </xs:complexContent>
  1384.             </xs:complexType>
  1385.             <xs:complexType name="KeyValueType">
  1386.                 <xs:sequence>
  1387.                     <xs:element name="key" type="cpxe:String255Type"/>
  1388.                     <xs:element name="value" type="cpxe:String4000Type"/>
  1389.                 </xs:sequence>
  1390.             </xs:complexType>
  1391.             <!-- ************************************************************************************* LogBindingType****-->
  1392.             <xs:complexType name="LogBindingType">
  1393.                 <xs:sequence>
  1394.                     <xs:element name="logProvider" type="cpxe:MembershipType"/>
  1395.                     <xs:element name="logUrl" type="xs:anyURI"/>
  1396.                 </xs:sequence>
  1397.             </xs:complexType>
  1398.             <!-- ************************************************************************************* LeaseType-->
  1399.             <xs:complexType name="LeaseType">
  1400.                 <xs:complexContent>
  1401.                     <xs:extension base="cpxe:ResultType">
  1402.                         <xs:sequence>
  1403.                             <xs:element name="leaseId" type="cpxe:UidType"/>
  1404.                             <xs:element name="leaseDuration" type="xs:long"/>
  1405.                         </xs:sequence>
  1406.                     </xs:extension>
  1407.                 </xs:complexContent>
  1408.             </xs:complexType>
  1409.             <!-- ************************************************************************************* SessionType-->
  1410.             <xs:complexType name="SessionType">
  1411.                 <xs:sequence>
  1412.                     <xs:element name="sessionId" type="cpxe:UidType"/>
  1413.                 </xs:sequence>
  1414.             </xs:complexType>
  1415.             <!-- ************************************************************************************* SessionLeaseType-->
  1416.             <xs:complexType name="SessionLeaseType">
  1417.                 <xs:complexContent>
  1418.                     <xs:extension base="cpxe:ResultType">
  1419.                         <xs:sequence>
  1420.                             <xs:element name="session" type="cpxe:SessionType"/>
  1421.                             <xs:element name="lease" type="cpxe:LeaseType"/>
  1422.                         </xs:sequence>
  1423.                     </xs:extension>
  1424.                 </xs:complexContent>
  1425.             </xs:complexType>
  1426.             <xs:complexType name="SessionInfoType">
  1427.                 <xs:complexContent>
  1428.                     <xs:extension base="cpxe:ResultType">
  1429.                         <xs:sequence>
  1430.                             <xs:element name="sessionLease" type="cpxe:SessionLeaseType"/>
  1431.                             <xs:element name="sessionProperties" type="cpxe:KeyValueListType"/>
  1432.                         </xs:sequence>
  1433.                     </xs:extension>
  1434.                 </xs:complexContent>
  1435.             </xs:complexType>
  1436.             <!-- ************************************************************************************* UrlLeaseType-->
  1437.             <xs:complexType name="UrlLeaseType">
  1438.                 <xs:complexContent>
  1439.                     <xs:extension base="cpxe:ResultType">
  1440.                         <xs:sequence>
  1441.                             <xs:element name="url" type="xs:anyURI"/>
  1442.                             <xs:element name="lease" type="cpxe:LeaseType" nillable="true" minOccurs="0"/>
  1443.                         </xs:sequence>
  1444.                     </xs:extension>
  1445.                 </xs:complexContent>
  1446.             </xs:complexType>
  1447.             <!-- ************************************************************************************* AddressType-->
  1448.             <xs:complexType name="AddressListType">
  1449.                 <xs:sequence>
  1450.                     <xs:element name="address" type="cpxe:AddressType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1451.                 </xs:sequence>
  1452.             </xs:complexType>
  1453.             <xs:complexType name="AddressType">
  1454.                 <xs:annotation>
  1455.                     <xs:documentation>The base class for address information.  It is made up of (optional) fixed elements and a repeating number of Detail elements.</xs:documentation>
  1456.                 </xs:annotation>
  1457.                 <xs:sequence>
  1458.                     <xs:element name="firstName" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1459.                     <xs:element name="middleName" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1460.                     <xs:element name="lastName" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1461.                     <xs:element name="prefix" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1462.                     <xs:element name="suffix" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1463.                     <xs:element name="companyName" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1464.                     <xs:element name="address1" type="cpxe:String255Type"/>
  1465.                     <xs:element name="address2" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1466.                     <xs:element name="address3" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1467.                     <xs:element name="city" type="cpxe:String255Type"/>
  1468.                     <xs:element name="stateProvince" type="cpxe:String255Type"/>
  1469.                     <xs:element name="postalCode" type="cpxe:String255Type"/>
  1470.                     <xs:element name="county" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1471.                     <xs:element name="country" type="cpxe:String255Type"/>
  1472.                     <xs:element name="phone" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1473.                     <xs:element name="email" type="cpxe:EmailType" nillable="true" minOccurs="0"/>
  1474.                     <xs:element name="addressDetail" type="cpxe:DetailType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1475.                 </xs:sequence>
  1476.                 <xs:attribute name="id" type="xs:ID" use="required"/>
  1477.             </xs:complexType>
  1478.             <!-- ************************************************************************************* EmailType-->
  1479.             <xs:simpleType name="EmailType">
  1480.                 <xs:restriction base="xs:string">
  1481.                     <xs:pattern value="[\p{L}\d_]+(\.[\p{L}\d_]+)*@[\p{L}\d_]+(\.[\p{L}\d_]+)+"/>
  1482.                 </xs:restriction>
  1483.             </xs:simpleType>
  1484.             <!-- CPXE LOCATOR Last edited: Feb 28, 2003
  1485.         V1.00    Feb 28, 2003    candidate release
  1486.         V0.60 - Jan 14, 2003 - ChoiceType name changed to SelectionType, ImageURLs removed, TreeNodeElement redefined
  1487.         V0.51 - Nov 15, 2002 - Updated the version only
  1488.         V0.5 - Oct. 25, 2002 - removed transactions
  1489.         V0.4 - Oct. 12, 2002 -     baseline
  1490.     -->
  1491.             <!-- ************************************************************************************* NavigationElementsType-->
  1492.             <xs:complexType name="NavigationElementsType">
  1493.                 <xs:annotation>
  1494.                     <xs:documentation>
  1495.                 This structure is returned from the call to findService as part of the status structure (of type StatusType).
  1496.                 Elements:
  1497.                 caption = Text that can be displayed by client in relation to the associated group of elements.
  1498.                 group = Represents one or more elements to be used by the client to present information to the user.
  1499.             </xs:documentation>
  1500.                 </xs:annotation>
  1501.                 <xs:complexContent>
  1502.                     <xs:extension base="cpxe:ResultType">
  1503.                         <xs:sequence>
  1504.                             <xs:element name="caption" type="cpxe:CaptionType"/>
  1505.                             <xs:element name="group" type="cpxe:GroupType"/>
  1506.                         </xs:sequence>
  1507.                     </xs:extension>
  1508.                 </xs:complexContent>
  1509.             </xs:complexType>
  1510.             <!-- ************************************************************************************* CaptionType****-->
  1511.             <xs:simpleType name="CaptionType">
  1512.                 <xs:annotation>
  1513.                     <xs:documentation>
  1514.                 The value of this string can be used as a title to attach to an element or a group of elements.
  1515.             </xs:documentation>
  1516.                 </xs:annotation>
  1517.                 <xs:restriction base="xs:string">
  1518.                     <xs:minLength value="0"/>
  1519.                     <xs:maxLength value="500"/>
  1520.                 </xs:restriction>
  1521.             </xs:simpleType>
  1522.             <!-- ************************************************************************************* GroupType****-->
  1523.             <xs:complexType name="GroupType">
  1524.                 <xs:annotation>
  1525.                     <xs:documentation>
  1526.                 Given the derivation from NavigationElementType, note that a GroupType could contain zero or more GroupTypes.
  1527.                 This nesting capability is not limited.
  1528.                 Elements:
  1529.                 navigationElements = Zero or more elements to be used by the requestor to create the user experience for locating a service.
  1530.             </xs:documentation>
  1531.                 </xs:annotation>
  1532.                 <xs:complexContent>
  1533.                     <xs:extension base="cpxe:NavigationElementType">
  1534.                         <xs:sequence>
  1535.                             <xs:element name="navigationElements" type="cpxe:NavigationElementType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1536.                         </xs:sequence>
  1537.                     </xs:extension>
  1538.                 </xs:complexContent>
  1539.             </xs:complexType>
  1540.             <!-- ************************************************************************************* NavigationElementType****-->
  1541.             <xs:complexType name="NavigationElementType">
  1542.                 <xs:annotation>
  1543.                     <xs:documentation>
  1544.                 Represents an element to be used by a requestor for presenting information to a user.
  1545.                 Elements:
  1546.                 name = The internal name of the element.
  1547.                 caption = Optional text that can be displayed by the requestor in relation to this element.
  1548.             </xs:documentation>
  1549.                 </xs:annotation>
  1550.                 <xs:sequence>
  1551.                     <xs:element name="name" type="cpxe:String255Type"/>
  1552.                     <xs:element name="caption" type="cpxe:CaptionType"/>
  1553.                 </xs:sequence>
  1554.             </xs:complexType>
  1555.             <!-- ************************************************************************************* ButtonElementType****-->
  1556.             <xs:complexType name="ButtonElementType">
  1557.                 <xs:annotation>
  1558.                     <xs:documentation>
  1559.                 This navigation element represents a clickable button. It specifies a list of elements whose value should be returned
  1560.                 when findService is called again. A button is an element that posts form data from elements of type InputType,
  1561.                 SelectOneElementType, or SelectManyElementType.
  1562.                 Elements:
  1563.                 hint = Can be used to provide additional information to be displayed by the client.
  1564.                 nextSearchPath = Text used to describe the location parameter for the next call to findService().
  1565.                 inputValueNames = The names of the InputElementType, SelectOneElementType, or SelectManyElementType
  1566.                                     structures, whose values must be submitted in the subsequent findService() call.
  1567.             </xs:documentation>
  1568.                 </xs:annotation>
  1569.                 <xs:complexContent>
  1570.                     <xs:extension base="cpxe:NavigationElementType">
  1571.                         <xs:sequence>
  1572.                             <xs:element name="hint" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1573.                             <xs:element name="nextSearchPath" type="cpxe:String255Type"/>
  1574.                             <xs:element name="inputValueName" type="cpxe:String255Type" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
  1575.                         </xs:sequence>
  1576.                     </xs:extension>
  1577.                 </xs:complexContent>
  1578.             </xs:complexType>
  1579.             <!-- ************************************************************************************* SelectionType****-->
  1580.             <xs:complexType name="SelectionType">
  1581.                 <xs:annotation>
  1582.                     <xs:documentation>
  1583.                 This structure is to be used within other structures as a means of denoting the selection state of the encompassing structure.
  1584.                 Elements:
  1585.                 selected = True identifies the encompassing structure as containing a choice that was selected.
  1586.             </xs:documentation>
  1587.                 </xs:annotation>
  1588.                 <xs:complexContent>
  1589.                     <xs:extension base="cpxe:NavigationElementType">
  1590.                         <xs:sequence>
  1591.                             <xs:element name="selected" type="xs:boolean"/>
  1592.                         </xs:sequence>
  1593.                     </xs:extension>
  1594.                 </xs:complexContent>
  1595.             </xs:complexType>
  1596.             <!-- ************************************************************************************* InputElementType****-->
  1597.             <xs:complexType name="InputElementType">
  1598.                 <xs:annotation>
  1599.                     <xs:documentation>
  1600.                 This structure represents input from either the consumer, or from a previous findService() invocation.
  1601.                 The defaultValue sub-element is used to pre-load the value of TBD.
  1602.                 The hint sub-element can be used to suggest a one-line text box or a multi-line text area.
  1603.             </xs:documentation>
  1604.                 </xs:annotation>
  1605.                 <xs:complexContent>
  1606.                     <xs:extension base="cpxe:NavigationElementType">
  1607.                         <xs:sequence>
  1608.                             <xs:element name="hint" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1609.                             <xs:element name="defaultValue" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1610.                             <xs:element name="maxCharacters" type="xs:integer" default="32"/>
  1611.                             <xs:element name="writable" type="xs:boolean" default="true"/>
  1612.                         </xs:sequence>
  1613.                     </xs:extension>
  1614.                 </xs:complexContent>
  1615.             </xs:complexType>
  1616.             <!-- ************************************************************************************* SelectElementType****-->
  1617.             <xs:complexType name="SelectElementType">
  1618.                 <xs:annotation>
  1619.                     <xs:documentation>
  1620.                 This structure is the base for specific selection navigation elements.
  1621.                 Elements:
  1622.                 hint = Optional text to be displayed with the list.
  1623.                 choice =The list of choices
  1624.             </xs:documentation>
  1625.                 </xs:annotation>
  1626.                 <xs:complexContent>
  1627.                     <xs:extension base="cpxe:NavigationElementType">
  1628.                         <xs:sequence>
  1629.                             <xs:element name="hint" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1630.                             <xs:element name="selection" type="cpxe:SelectionType" maxOccurs="unbounded"/>
  1631.                         </xs:sequence>
  1632.                     </xs:extension>
  1633.                 </xs:complexContent>
  1634.             </xs:complexType>
  1635.             <!-- ************************************************************************************* SelectOneElementType****-->
  1636.             <xs:complexType name="SelectOneElementType">
  1637.                 <xs:annotation>
  1638.                     <xs:documentation>
  1639.                 This structure is derived from SelectElementType, and it represents a single-choice user input element
  1640.                 (e.g., radio buttons and single-selectable drop-down lists). It does not expand on the derivation;
  1641.                 hence it is identical to SelectElementType.
  1642.             </xs:documentation>
  1643.                 </xs:annotation>
  1644.                 <xs:complexContent>
  1645.                     <xs:extension base="cpxe:SelectElementType"/>
  1646.                 </xs:complexContent>
  1647.             </xs:complexType>
  1648.             <!-- ************************************************************************************* SelectManyElementType****-->
  1649.             <xs:complexType name="SelectManyElementType">
  1650.                 <xs:annotation>
  1651.                     <xs:documentation>
  1652.                 This structure is derived from SelectElementType and it represents an arbitrary number of elements that can
  1653.                 be selected (e.g. check-box lists, or multi-selectable lists). It does not expand on the derivation; hence it is
  1654.                 identical to SelectElementType.
  1655.             </xs:documentation>
  1656.                 </xs:annotation>
  1657.                 <xs:complexContent>
  1658.                     <xs:extension base="cpxe:SelectElementType"/>
  1659.                 </xs:complexContent>
  1660.             </xs:complexType>
  1661.             <!-- ************************************************************************************* ServiceProviderType****-->
  1662.             <xs:complexType name="ServiceProviderType">
  1663.                 <xs:annotation>
  1664.                     <xs:documentation>
  1665.                 This structure contains the data necessary for describing a Service Provider in enough detail for a Requestor
  1666.                 to establish a connection.
  1667.                 Elements:
  1668.                 serviceID = Uuid in 8-4-4-4-12 format, with "uuid:" prefix
  1669.                 serviceName = Restricted to a length of 0 to 50    Name of the service provider.
  1670.                 serviceCaption = Restricted to a length of 0 to 255    Caption to be used for display.
  1671.                 serviceIcon = The URL for the branding icon for the specific service provider
  1672.                 currentProvider = If true, this description corresponds to the selected provider.
  1673.                 cpxeService = If true, this provider adheres to the appropriate CPX/e APIs. If false, this provider presents a URL
  1674.                             for redirection to a site that provides services in a manner outside of the scope of CPX/e.
  1675.             </xs:documentation>
  1676.                 </xs:annotation>
  1677.                 <xs:sequence>
  1678.                     <xs:element name="serviceID" type="cpxe:UuidType"/>
  1679.                     <xs:element name="serviceName">
  1680.                         <xs:simpleType>
  1681.                             <xs:restriction base="xs:string">
  1682.                                 <xs:minLength value="0"/>
  1683.                                 <xs:maxLength value="50"/>
  1684.                             </xs:restriction>
  1685.                         </xs:simpleType>
  1686.                     </xs:element>
  1687.                     <xs:element name="serviceCaption" type="cpxe:String255Type"/>
  1688.                     <xs:element name="serviceIcon" type="xs:anyURI" nillable="true" minOccurs="0"/>
  1689.                     <xs:element name="currentProvider" type="xs:boolean"/>
  1690.                     <xs:element name="cpxeService" type="xs:boolean"/>
  1691.                 </xs:sequence>
  1692.             </xs:complexType>
  1693.             <!-- ************************************************************************************* TreeNodeElementType****-->
  1694.             <xs:complexType name="TreeNodeElementType">
  1695.                 <xs:annotation>
  1696.                     <xs:documentation>
  1697.                 This structure represents a hyperlink for navigating, or a service provider (which could then be selected).
  1698.                 Elements:
  1699.                 [nextSearchPath | selection] = Only a single element may be specifed!
  1700.                      nextSearchPath is to be used as an argument in the next invocation of the findService() method, OR
  1701.                      selection represents a service provider description.
  1702.             </xs:documentation>
  1703.                 </xs:annotation>
  1704.                 <xs:complexContent>
  1705.                     <xs:extension base="cpxe:NavigationElementType">
  1706.                         <xs:sequence>
  1707.                             <xs:element name="nextSearchPath" type="cpxe:String255Type" nillable="true" minOccurs="0"/>
  1708.                             <xs:element name="selection" type="cpxe:ServiceProviderType" nillable="true" minOccurs="0"/>
  1709.                         </xs:sequence>
  1710.                     </xs:extension>
  1711.                 </xs:complexContent>
  1712.             </xs:complexType>
  1713.             <!-- ************************************************************************************* ProviderDetailsType****-->
  1714.             <xs:complexType name="ProviderDetailsType">
  1715.                 <xs:annotation>
  1716.                     <xs:documentation>
  1717.                 This structure derives from cpxe:ResultType and is used to describe the details of the service provider, in a manner that is
  1718.                 useful for requestor activities.
  1719.                 Elements:
  1720.                 name = The name of the selected service provider.
  1721.                 providerBusinessKey = The CPX/e assigned business id.  This value not supplied if not an integrated service.
  1722.                 providerServiceKey = The CPX/e assigned service id.
  1723.                 bindingURI = Access point URI for the service.
  1724.                 wsdl = URL to the WSDL file that defines the interface implemented by the service (if an integrated service)
  1725.                 tModelKey = The CPX/e assigned uuid for the specific interface implemented by the service.
  1726.                 providerPropertiesForRequestor = List of provider properties to be used by the requestor that manages the location activity as
  1727.                                                 part of the user experience that it is presenting. These include branding properties such as logo URLs, etc.
  1728.                 providerPropertiesForProvider = List of provider properties to be used by the requestor that invokes the selected service provider.
  1729.             </xs:documentation>
  1730.                 </xs:annotation>
  1731.                 <xs:complexContent>
  1732.                     <xs:extension base="cpxe:ResultType">
  1733.                         <xs:sequence>
  1734.                             <xs:element name="name" type="cpxe:String255Type"/>
  1735.                             <xs:element name="providerBusinessKey" type="cpxe:UuidType" nillable="true" minOccurs="0"/>
  1736.                             <xs:element name="providerServiceKey" type="cpxe:UuidType"/>
  1737.                             <xs:element name="bindingURI" type="xs:anyURI"/>
  1738.                             <xs:element name="wsdl" type="xs:anyURI" nillable="true" minOccurs="0"/>
  1739.                             <xs:element name="tModelKey" type="cpxe:UuidType"/>
  1740.                             <xs:element name="providerPropertiesForRequestor" type="cpxe:KeyValueListType" nillable="true" minOccurs="0"/>
  1741.                             <xs:element name="providerPropertiesForProvider" type="cpxe:KeyValueListType" nillable="true" minOccurs="0"/>
  1742.                         </xs:sequence>
  1743.                     </xs:extension>
  1744.                 </xs:complexContent>
  1745.             </xs:complexType>
  1746.         </xs:schema>
  1747.         <xs:schema targetNamespace="http://www.i3a.org/cpxe/100/ISOSchema/">
  1748.     <!-- CPXE ISO-3166 Last edited: Feb 28, 2003
  1749.     V1.00    Feb 28, 2003    candidate release
  1750.     V0.60 - Jan 14, 2003    Updated East Timors country code from TP to TL (named changed to Timor-Leste) , add back comments
  1751.     V0.51 - Nov 15, 2002     Updated version only
  1752.     V0.5 -
  1753.     V0.4 - Oct. 12, 2002     baseline
  1754. -->
  1755.     <xs:annotation>
  1756.         <xs:documentation>Restriction based on valid country code from ISO Standard 3166. </xs:documentation>
  1757.     </xs:annotation>
  1758.     <xs:simpleType name="CountryType">
  1759.         <xs:restriction base="xs:string">
  1760.             <xs:enumeration value="AF"/>    <!-- AFGHANISTAN -->
  1761.             <xs:enumeration value="AL"/>    <!-- ALBANIA -->
  1762.             <xs:enumeration value="DZ"/>    <!-- ALGERIA -->
  1763.             <xs:enumeration value="AS"/>    <!-- AMERICAN SAMOA -->
  1764.             <xs:enumeration value="AD"/>    <!-- ANDORRA -->
  1765.             <xs:enumeration value="AO"/>    <!-- ANGOLA -->
  1766.             <xs:enumeration value="AI"/>    <!-- ANGUILLA -->
  1767.             <xs:enumeration value="AQ"/>    <!-- ANTARCTICA -->
  1768.             <xs:enumeration value="AG"/>    <!-- ANTIGUA AND BARBUDA -->
  1769.             <xs:enumeration value="AR"/>    <!-- ARGENTINA -->
  1770.             <xs:enumeration value="AM"/>    <!-- ARMENIA -->
  1771.             <xs:enumeration value="AW"/>    <!-- ARUBA -->
  1772.             <xs:enumeration value="AU"/>    <!-- AUSTRALIA -->
  1773.             <xs:enumeration value="AT"/>    <!-- AUSTRIA -->
  1774.             <xs:enumeration value="AZ"/>    <!-- AZERBAIJAN -->
  1775.             <xs:enumeration value="BS"/>    <!-- BAHAMAS -->
  1776.             <xs:enumeration value="BH"/>    <!-- BAHRAIN -->
  1777.             <xs:enumeration value="BD"/>    <!-- BANGLADESH -->
  1778.             <xs:enumeration value="BB"/>    <!-- BARBADOS -->
  1779.             <xs:enumeration value="BY"/>    <!-- BELARUS -->
  1780.             <xs:enumeration value="BE"/>    <!-- BELGIUM -->
  1781.             <xs:enumeration value="BZ"/>    <!-- BELIZE -->
  1782.             <xs:enumeration value="BJ"/>    <!-- BENIN -->
  1783.             <xs:enumeration value="BM"/>    <!-- BERMUDA -->
  1784.             <xs:enumeration value="BT"/>    <!-- BHUTAN -->
  1785.             <xs:enumeration value="BO"/>    <!-- BOLIVIA -->
  1786.             <xs:enumeration value="BA"/>    <!-- BOSNIA AND HERZEGOVINA -->
  1787.             <xs:enumeration value="BW"/>    <!-- BOTSWANA -->
  1788.             <xs:enumeration value="BV"/>    <!-- BOUVET ISLAND -->
  1789.             <xs:enumeration value="BR"/>    <!-- BRAZIL -->
  1790.             <xs:enumeration value="IO"/>    <!-- BRITISH INDIAN OCEAN TERRITORY -->
  1791.             <xs:enumeration value="BN"/>    <!-- BRUNEI DARUSSALAM -->
  1792.             <xs:enumeration value="BG"/>    <!-- BULGARIA -->
  1793.             <xs:enumeration value="BF"/>    <!-- BURKINA FASO -->
  1794.             <xs:enumeration value="BI"/>    <!-- BURUNDI -->
  1795.             <xs:enumeration value="KH"/>    <!-- CAMBODIA -->
  1796.             <xs:enumeration value="CM"/>    <!-- CAMEROON -->
  1797.             <xs:enumeration value="CA"/>    <!-- CANADA -->
  1798.             <xs:enumeration value="CV"/>    <!-- CAPE VERDE -->
  1799.             <xs:enumeration value="KY"/>    <!-- CAYMAN ISLANDS -->
  1800.             <xs:enumeration value="CF"/>    <!-- CENTRAL AFRICAN REPUBLIC -->
  1801.             <xs:enumeration value="TD"/>    <!-- CHAD -->
  1802.             <xs:enumeration value="CL"/>    <!-- CHILE -->
  1803.             <xs:enumeration value="CN"/>    <!-- CHINA -->
  1804.             <xs:enumeration value="CX"/>    <!-- CHRISTMAS ISLAND -->
  1805.             <xs:enumeration value="CC"/>    <!-- COCOS (KEELING) ISLANDS -->
  1806.             <xs:enumeration value="CO"/>    <!-- COLOMBIA -->
  1807.             <xs:enumeration value="KM"/>    <!-- COMOROS -->
  1808.             <xs:enumeration value="CG"/>    <!-- CONGO -->
  1809.             <xs:enumeration value="CD"/>    <!-- "CONGO, THE DEMOCRATIC REPUBLIC OF THE" -->
  1810.             <xs:enumeration value="CK"/>    <!-- COOK ISLANDS -->
  1811.             <xs:enumeration value="CR"/>    <!-- COSTA RICA -->
  1812.             <xs:enumeration value="CI"/>    <!-- COTE D'IVOIRE -->
  1813.             <xs:enumeration value="HR"/>    <!-- CROATIA -->
  1814.             <xs:enumeration value="CU"/>    <!-- CUBA -->
  1815.             <xs:enumeration value="CY"/>    <!-- CYPRUS -->
  1816.             <xs:enumeration value="CZ"/>    <!-- CZECH REPUBLIC -->
  1817.             <xs:enumeration value="DK"/>    <!-- DENMARK -->
  1818.             <xs:enumeration value="DJ"/>    <!-- DJIBOUTI -->
  1819.             <xs:enumeration value="DM"/>    <!-- DOMINICA -->
  1820.             <xs:enumeration value="DO"/>    <!-- DOMINICAN REPUBLIC -->
  1821.             <xs:enumeration value="TL"/>    <!-- TIMOR-LESTE -->
  1822.             <xs:enumeration value="EC"/>    <!-- ECUADOR -->
  1823.             <xs:enumeration value="EG"/>    <!-- EGYPT -->
  1824.             <xs:enumeration value="SV"/>    <!-- EL SALVADOR -->
  1825.             <xs:enumeration value="GQ"/>    <!-- EQUATORIAL GUINEA -->
  1826.             <xs:enumeration value="ER"/>    <!-- ERITREA -->
  1827.             <xs:enumeration value="EE"/>    <!-- ESTONIA -->
  1828.             <xs:enumeration value="ET"/>    <!-- ETHIOPIA -->
  1829.             <xs:enumeration value="FK"/>    <!-- FALKLAND ISLANDS (MALVINAS) -->
  1830.             <xs:enumeration value="FO"/>    <!-- FAROE ISLANDS -->
  1831.             <xs:enumeration value="FJ"/>    <!-- FIJI -->
  1832.             <xs:enumeration value="FI"/>    <!-- FINLAND -->
  1833.             <xs:enumeration value="FR"/>    <!-- FRANCE -->
  1834.             <xs:enumeration value="GF"/>    <!-- FRENCH GUIANA -->
  1835.             <xs:enumeration value="PF"/>    <!-- FRENCH POLYNESIA -->
  1836.             <xs:enumeration value="TF"/>    <!-- FRENCH SOUTHERN TERRITORIES -->
  1837.             <xs:enumeration value="GA"/>    <!-- GABON -->
  1838.             <xs:enumeration value="GM"/>    <!-- GAMBIA -->
  1839.             <xs:enumeration value="GE"/>    <!-- GEORGIA -->
  1840.             <xs:enumeration value="DE"/>    <!-- GERMANY -->
  1841.             <xs:enumeration value="GH"/>    <!-- GHANA -->
  1842.             <xs:enumeration value="GI"/>    <!-- GIBRALTAR -->
  1843.             <xs:enumeration value="GR"/>    <!-- GREECE -->
  1844.             <xs:enumeration value="GL"/>    <!-- GREENLAND -->
  1845.             <xs:enumeration value="GD"/>    <!-- GRENADA -->
  1846.             <xs:enumeration value="GP"/>    <!-- GUADELOUPE -->
  1847.             <xs:enumeration value="GU"/>    <!-- GUAM -->
  1848.             <xs:enumeration value="GT"/>    <!-- GUATEMALA -->
  1849.             <xs:enumeration value="GN"/>    <!-- GUINEA -->
  1850.             <xs:enumeration value="GW"/>    <!-- GUINEA-BISSAU -->
  1851.             <xs:enumeration value="GY"/>    <!-- GUYANA -->
  1852.             <xs:enumeration value="HT"/>    <!-- HAITI -->
  1853.             <xs:enumeration value="HM"/>    <!-- HEARD ISLAND AND MCDONALD ISLANDS -->
  1854.             <xs:enumeration value="VA"/>    <!-- HOLY SEE (VATICAN CITY STATE) -->
  1855.             <xs:enumeration value="HN"/>    <!-- HONDURAS -->
  1856.             <xs:enumeration value="HK"/>    <!-- HONG KONG -->
  1857.             <xs:enumeration value="HU"/>    <!-- HUNGARY -->
  1858.             <xs:enumeration value="IS"/>    <!-- ICELAND -->
  1859.             <xs:enumeration value="IN"/>    <!-- INDIA -->
  1860.             <xs:enumeration value="ID"/>    <!-- INDONESIA -->
  1861.             <xs:enumeration value="IR"/>    <!-- "IRAN, ISLAMIC REPUBLIC OF" -->
  1862.             <xs:enumeration value="IQ"/>    <!-- IRAQ -->
  1863.             <xs:enumeration value="IE"/>    <!-- IRELAND -->
  1864.             <xs:enumeration value="IL"/>    <!-- ISRAEL -->
  1865.             <xs:enumeration value="IT"/>    <!-- ITALY -->
  1866.             <xs:enumeration value="JM"/>    <!-- JAMAICA -->
  1867.             <xs:enumeration value="JP"/>    <!-- JAPAN -->
  1868.             <xs:enumeration value="JO"/>    <!-- JORDAN -->
  1869.             <xs:enumeration value="KZ"/>    <!-- KAZAKSTAN -->
  1870.             <xs:enumeration value="KE"/>    <!-- KENYA -->
  1871.             <xs:enumeration value="KI"/>    <!-- KIRIBATI -->
  1872.             <xs:enumeration value="KP"/>    <!-- "KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF" -->
  1873.             <xs:enumeration value="KR"/>    <!-- "KOREA, REPUBLIC OF" -->
  1874.             <xs:enumeration value="KW"/>    <!-- KUWAIT -->
  1875.             <xs:enumeration value="KG"/>    <!-- KYRGYZSTAN -->
  1876.             <xs:enumeration value="LA"/>    <!-- LAO PEOPLE'S DEMOCRATIC REPUBLIC -->
  1877.             <xs:enumeration value="LV"/>    <!-- LATVIA -->
  1878.             <xs:enumeration value="LB"/>    <!-- LEBANON -->
  1879.             <xs:enumeration value="LS"/>    <!-- LESOTHO -->
  1880.             <xs:enumeration value="LR"/>    <!-- LIBERIA -->
  1881.             <xs:enumeration value="LY"/>    <!-- LIBYAN ARAB JAMAHIRIYA -->
  1882.             <xs:enumeration value="LI"/>    <!-- LIECHTENSTEIN -->
  1883.             <xs:enumeration value="LT"/>    <!-- LITHUANIA -->
  1884.             <xs:enumeration value="LU"/>    <!-- LUXEMBOURG -->
  1885.             <xs:enumeration value="MO"/>    <!-- MACAU -->
  1886.             <xs:enumeration value="MK"/>    <!-- "MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF" -->
  1887.             <xs:enumeration value="MG"/>    <!-- MADAGASCAR -->
  1888.             <xs:enumeration value="MW"/>    <!-- MALAWI -->
  1889.             <xs:enumeration value="MY"/>    <!-- MALAYSIA -->
  1890.             <xs:enumeration value="MV"/>    <!-- MALDIVES -->
  1891.             <xs:enumeration value="ML"/>    <!-- MALI -->
  1892.             <xs:enumeration value="MT"/>    <!-- MALTA -->
  1893.             <xs:enumeration value="MH"/>    <!-- MARSHALL ISLANDS -->
  1894.             <xs:enumeration value="MQ"/>    <!-- MARTINIQUE -->
  1895.             <xs:enumeration value="MR"/>    <!-- MAURITANIA -->
  1896.             <xs:enumeration value="MU"/>    <!-- MAURITIUS -->
  1897.             <xs:enumeration value="YT"/>    <!-- MAYOTTE -->
  1898.             <xs:enumeration value="MX"/>    <!-- MEXICO -->
  1899.             <xs:enumeration value="FM"/>    <!-- "MICRONESIA, FEDERATED STATES OF" -->
  1900.             <xs:enumeration value="MD"/>    <!-- "MOLDOVA, REPUBLIC OF" -->
  1901.             <xs:enumeration value="MC"/>    <!-- MONACO -->
  1902.             <xs:enumeration value="MN"/>    <!-- MONGOLIA -->
  1903.             <xs:enumeration value="MS"/>    <!-- MONTSERRAT -->
  1904.             <xs:enumeration value="MA"/>    <!-- MOROCCO -->
  1905.             <xs:enumeration value="MZ"/>    <!-- MOZAMBIQUE -->
  1906.             <xs:enumeration value="MM"/>    <!-- MYANMAR -->
  1907.             <xs:enumeration value="NA"/>    <!-- NAMIBIA -->
  1908.             <xs:enumeration value="NR"/>    <!-- NAURU -->
  1909.             <xs:enumeration value="NP"/>    <!-- NEPAL -->
  1910.             <xs:enumeration value="NL"/>    <!-- NETHERLANDS -->
  1911.             <xs:enumeration value="AN"/>    <!-- NETHERLANDS ANTILLES -->
  1912.             <xs:enumeration value="NC"/>    <!-- NEW CALEDONIA -->
  1913.             <xs:enumeration value="NZ"/>    <!-- NEW ZEALAND -->
  1914.             <xs:enumeration value="NI"/>    <!-- NICARAGUA -->
  1915.             <xs:enumeration value="NE"/>    <!-- NIGER -->
  1916.             <xs:enumeration value="NG"/>    <!-- NIGERIA -->
  1917.             <xs:enumeration value="NU"/>    <!-- NIUE -->
  1918.             <xs:enumeration value="NF"/>    <!-- NORFOLK ISLAND -->
  1919.             <xs:enumeration value="MP"/>    <!-- NORTHERN MARIANA ISLANDS -->
  1920.             <xs:enumeration value="NO"/>    <!-- NORWAY -->
  1921.             <xs:enumeration value="OM"/>    <!-- OMAN -->
  1922.             <xs:enumeration value="PK"/>    <!-- PAKISTAN -->
  1923.             <xs:enumeration value="PW"/>    <!-- PALAU -->
  1924.             <xs:enumeration value="PS"/>    <!-- "PALESTINIAN TERRITORY, OCCUPIED" -->
  1925.             <xs:enumeration value="PA"/>    <!-- PANAMA -->
  1926.             <xs:enumeration value="PG"/>    <!-- PAPUA NEW GUINEA -->
  1927.             <xs:enumeration value="PY"/>    <!-- PARAGUAY -->
  1928.             <xs:enumeration value="PE"/>    <!-- PERU -->
  1929.             <xs:enumeration value="PH"/>    <!-- PHILIPPINES -->
  1930.             <xs:enumeration value="PN"/>    <!-- PITCAIRN -->
  1931.             <xs:enumeration value="PL"/>    <!-- POLAND -->
  1932.             <xs:enumeration value="PT"/>    <!-- PORTUGAL -->
  1933.             <xs:enumeration value="PR"/>    <!-- PUERTO RICO -->
  1934.             <xs:enumeration value="QA"/>    <!-- QATAR -->
  1935.             <xs:enumeration value="RE"/>    <!-- REUNION -->
  1936.             <xs:enumeration value="RO"/>    <!-- ROMANIA -->
  1937.             <xs:enumeration value="RU"/>    <!-- RUSSIAN FEDERATION -->
  1938.             <xs:enumeration value="RW"/>    <!-- RWANDA -->
  1939.             <xs:enumeration value="SH"/>    <!-- SAINT HELENA -->
  1940.             <xs:enumeration value="KN"/>    <!-- SAINT KITTS AND NEVIS -->
  1941.             <xs:enumeration value="LC"/>    <!-- SAINT LUCIA -->
  1942.             <xs:enumeration value="PM"/>    <!-- SAINT PIERRE AND MIQUELON -->
  1943.             <xs:enumeration value="VC"/>    <!-- SAINT VINCENT AND THE GRENADINES -->
  1944.             <xs:enumeration value="WS"/>    <!-- SAMOA -->
  1945.             <xs:enumeration value="SM"/>    <!-- SAN MARINO -->
  1946.             <xs:enumeration value="ST"/>    <!-- SAO TOME AND PRINCIPE -->
  1947.             <xs:enumeration value="SA"/>    <!-- SAUDI ARABIA -->
  1948.             <xs:enumeration value="SN"/>    <!-- SENEGAL -->
  1949.             <xs:enumeration value="SC"/>    <!-- SEYCHELLES -->
  1950.             <xs:enumeration value="SL"/>    <!-- SIERRA LEONE -->
  1951.             <xs:enumeration value="SG"/>    <!-- SINGAPORE -->
  1952.             <xs:enumeration value="SK"/>    <!-- SLOVAKIA -->
  1953.             <xs:enumeration value="SI"/>    <!-- SLOVENIA -->
  1954.             <xs:enumeration value="SB"/>    <!-- SOLOMON ISLANDS -->
  1955.             <xs:enumeration value="SO"/>    <!-- SOMALIA -->
  1956.             <xs:enumeration value="ZA"/>    <!-- SOUTH AFRICA -->
  1957.             <xs:enumeration value="GS"/>    <!-- SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS -->
  1958.             <xs:enumeration value="ES"/>    <!-- SPAIN -->
  1959.             <xs:enumeration value="LK"/>    <!-- SRI LANKA -->
  1960.             <xs:enumeration value="SD"/>    <!-- SUDAN -->
  1961.             <xs:enumeration value="SR"/>    <!-- SURINAME -->
  1962.             <xs:enumeration value="SJ"/>    <!-- SVALBARD AND JAN MAYEN -->
  1963.             <xs:enumeration value="SZ"/>    <!-- SWAZILAND -->
  1964.             <xs:enumeration value="SE"/>    <!-- SWEDEN -->
  1965.             <xs:enumeration value="CH"/>    <!-- SWITZERLAND -->
  1966.             <xs:enumeration value="SY"/>    <!-- SYRIAN ARAB REPUBLIC -->
  1967.             <xs:enumeration value="TW"/>    <!-- "TAIWAN, PROVINCE OF CHINA" -->
  1968.             <xs:enumeration value="TJ"/>    <!-- TAJIKISTAN -->
  1969.             <xs:enumeration value="TZ"/>    <!-- "TANZANIA, UNITED REPUBLIC OF" -->
  1970.             <xs:enumeration value="TH"/>    <!-- THAILAND -->
  1971.             <xs:enumeration value="TG"/>    <!-- TOGO -->
  1972.             <xs:enumeration value="TK"/>    <!-- TOKELAU -->
  1973.             <xs:enumeration value="TO"/>    <!-- TONGA -->
  1974.             <xs:enumeration value="TT"/>    <!-- TRINIDAD AND TOBAGO -->
  1975.             <xs:enumeration value="TN"/>    <!-- TUNISIA -->
  1976.             <xs:enumeration value="TR"/>    <!-- TURKEY -->
  1977.             <xs:enumeration value="TM"/>    <!-- TURKMENISTAN -->
  1978.             <xs:enumeration value="TC"/>    <!-- TURKS AND CAICOS ISLANDS -->
  1979.             <xs:enumeration value="TV"/>    <!-- TUVALU -->
  1980.             <xs:enumeration value="UG"/>    <!-- UGANDA -->
  1981.             <xs:enumeration value="UA"/>    <!-- UKRAINE -->
  1982.             <xs:enumeration value="AE"/>    <!-- UNITED ARAB EMIRATES -->
  1983.             <xs:enumeration value="GB"/>    <!-- UNITED KINGDOM -->
  1984.             <xs:enumeration value="US"/>    <!-- UNITED STATES -->
  1985.             <xs:enumeration value="UM"/>    <!-- UNITED STATES MINOR OUTLYING ISLANDS -->
  1986.             <xs:enumeration value="UY"/>    <!-- URUGUAY -->
  1987.             <xs:enumeration value="UZ"/>    <!-- UZBEKISTAN -->
  1988.             <xs:enumeration value="VU"/>    <!-- VANUATU -->
  1989.             <xs:enumeration value="VE"/>    <!-- VENEZUELA -->
  1990.             <xs:enumeration value="VN"/>    <!-- VIET NAM -->
  1991.             <xs:enumeration value="VG"/>    <!-- "VIRGIN ISLANDS, BRITISH" -->
  1992.             <xs:enumeration value="VI"/>    <!-- "VIRGIN ISLANDS, U.S." -->
  1993.             <xs:enumeration value="WF"/>    <!-- WALLIS AND FUTUNA -->
  1994.             <xs:enumeration value="EH"/>    <!-- WESTERN SAHARA -->
  1995.             <xs:enumeration value="YE"/>    <!-- YEMEN -->
  1996.             <xs:enumeration value="YU"/>    <!-- YUGOSLAVIA -->
  1997.             <xs:enumeration value="ZM"/>    <!-- ZAMBIA -->
  1998.             <xs:enumeration value="ZW"/>    <!-- ZIMBABWE -->
  1999.         </xs:restriction>
  2000.     </xs:simpleType>
  2001.     <!-- CPXE ISO-4217 Last edited: Feb 28, 2003
  2002.         V1.00    Feb 28, 2003    candidate release
  2003.         V0.60 - Jan 14, 2003     Updated version only, add back comments
  2004.         V0.50 - Nov 15, 2002     Updated version only
  2005.         V0.5 -
  2006.         V0.4 - Oct. 12, 2002     baseline
  2007. -->
  2008.     <xs:annotation>
  2009.         <xs:documentation>Restriction based on valid currency code from ISO Standard 4217.</xs:documentation>
  2010.     </xs:annotation>
  2011.     <xs:simpleType name="CurrencyType">
  2012.         <xs:restriction base="xs:string">
  2013.             <xs:enumeration value="adp"/>    <!-- Andorran Peseta -->
  2014.             <xs:enumeration value="aed"/>    <!-- United Arab Emirates Dirham -->
  2015.             <xs:enumeration value="afa"/>    <!-- Afghanistan Afghani -->
  2016.             <xs:enumeration value="all"/>    <!-- Albanian Lek -->
  2017.             <xs:enumeration value="ang"/>    <!-- Netherlands Antillian Guilder -->
  2018.             <xs:enumeration value="aok"/>    <!-- Angolan Kwanza -->
  2019.             <xs:enumeration value="ara"/>    <!-- Argentinian Austral -->
  2020.             <xs:enumeration value="ats"/>    <!-- Austrian Schilling -->
  2021.             <xs:enumeration value="aud"/>    <!-- Australian Dollar -->
  2022.             <xs:enumeration value="awg"/>    <!-- Aruban Florin -->
  2023.             <xs:enumeration value="bbd"/>    <!-- Barbados Dollar -->
  2024.             <xs:enumeration value="bdt"/>    <!-- Bangladeshi Taka -->
  2025.             <xs:enumeration value="bef"/>    <!-- Belgian Franc -->
  2026.             <xs:enumeration value="bgl"/>    <!-- Bulgarian Lev -->
  2027.             <xs:enumeration value="bhd"/>    <!-- Bahraini Dinar -->
  2028.             <xs:enumeration value="bif"/>    <!-- Burundi Franc -->
  2029.             <xs:enumeration value="bmd"/>    <!-- Bermudian Dollar -->
  2030.             <xs:enumeration value="bnd"/>    <!-- Brunei Dollar -->
  2031.             <xs:enumeration value="bob"/>    <!-- Bolivian Boliviano -->
  2032.             <xs:enumeration value="brc"/>    <!-- Brazilian Cruzeiro -->
  2033.             <xs:enumeration value="bsd"/>    <!-- Bahamian Dollar -->
  2034.             <xs:enumeration value="btn"/>    <!-- Bhutan Ngultrum -->
  2035.             <xs:enumeration value="buk"/>    <!-- Burma Kyat -->
  2036.             <xs:enumeration value="bwp"/>    <!-- Botswanian Pula -->
  2037.             <xs:enumeration value="bzd"/>    <!-- Belize Dollar -->
  2038.             <xs:enumeration value="cad"/>    <!-- Canadian Dollar -->
  2039.             <xs:enumeration value="chf"/>    <!-- Swiss Franc -->
  2040.             <xs:enumeration value="clf"/>    <!-- Chilean Unidades de Fomento -->
  2041.             <xs:enumeration value="clp"/>    <!-- Chilean Peso -->
  2042.             <xs:enumeration value="cny"/>    <!-- Yuan (Chinese) Renminbi -->
  2043.             <xs:enumeration value="cop"/>    <!-- Colombian Peso -->
  2044.             <xs:enumeration value="crc"/>    <!-- Costa Rican Colon -->
  2045.             <xs:enumeration value="csk"/>    <!-- Czech Koruna -->
  2046.             <xs:enumeration value="cup"/>    <!-- Cuban Peso -->
  2047.             <xs:enumeration value="cve"/>    <!-- Cape Verde Escudo -->
  2048.             <xs:enumeration value="cyp"/>    <!-- Cyprus Pound -->
  2049.             <xs:enumeration value="ddm"/>    <!-- East German Mark (DDR) -->
  2050.             <xs:enumeration value="dem"/>    <!-- Deutsche Mark -->
  2051.             <xs:enumeration value="djf"/>    <!-- Djibouti Franc -->
  2052.             <xs:enumeration value="dkk"/>    <!-- Danish Krone -->
  2053.             <xs:enumeration value="dop"/>    <!-- Dominican Peso -->
  2054.             <xs:enumeration value="dzd"/>    <!-- Algerian Dinar -->
  2055.             <xs:enumeration value="ecs"/>    <!-- Ecuador Sucre -->
  2056.             <xs:enumeration value="egp"/>    <!-- Egyptian Pound -->
  2057.             <xs:enumeration value="esp"/>    <!-- Spanish Peseta -->
  2058.             <xs:enumeration value="etb"/>    <!-- Ethiopian Birr -->
  2059.             <xs:enumeration value="eur"/>    <!-- EURO -->
  2060.             <xs:enumeration value="fim"/>    <!-- Finnish Markka -->
  2061.             <xs:enumeration value="fjd"/>    <!-- Fiji Dollar -->
  2062.             <xs:enumeration value="fkp"/>    <!-- Falkland Islands Pound -->
  2063.             <xs:enumeration value="frf"/>    <!-- French Franc -->
  2064.             <xs:enumeration value="gbp"/>    <!-- British Pound -->
  2065.             <xs:enumeration value="ghc"/>    <!-- Ghanaian Cedi -->
  2066.             <xs:enumeration value="gip"/>    <!-- Gibraltar Pound -->
  2067.             <xs:enumeration value="gmd"/>    <!-- Gambian Dalasi -->
  2068.             <xs:enumeration value="gnf"/>    <!-- Guinea Franc -->
  2069.             <xs:enumeration value="grd"/>    <!-- Greek Drachma -->
  2070.             <xs:enumeration value="gtq"/>    <!-- Guatemalan Quetzal -->
  2071.             <xs:enumeration value="gwp"/>    <!-- Guinea-Bissau Peso -->
  2072.             <xs:enumeration value="gyd"/>    <!-- Guyanan Dollar -->
  2073.             <xs:enumeration value="hkd"/>    <!-- Hong Kong Dollar -->
  2074.             <xs:enumeration value="hnl"/>    <!-- Honduran Lempira -->
  2075.             <xs:enumeration value="htg"/>    <!-- Haitian Gourde -->
  2076.             <xs:enumeration value="huf"/>    <!-- Hungarian Forint -->
  2077.             <xs:enumeration value="idr"/>    <!-- Indonesian Rupiah -->
  2078.             <xs:enumeration value="iep"/>    <!-- Irish Punt -->
  2079.             <xs:enumeration value="ils"/>    <!-- Israeli Shekel -->
  2080.             <xs:enumeration value="inr"/>    <!-- Indian Rupee -->
  2081.             <xs:enumeration value="iqd"/>    <!-- Iraqi Dinar -->
  2082.             <xs:enumeration value="irr"/>    <!-- Iranian Rial -->
  2083.             <xs:enumeration value="isk"/>    <!-- Iceland Krona -->
  2084.             <xs:enumeration value="itl"/>    <!-- Italian Lira -->
  2085.             <xs:enumeration value="jmd"/>    <!-- Jamaican Dollar -->
  2086.             <xs:enumeration value="jod"/>    <!-- Jordanian Dinar -->
  2087.             <xs:enumeration value="jpy"/>    <!-- Japanese Yen -->
  2088.             <xs:enumeration value="kes"/>    <!-- Kenyan Schilling -->
  2089.             <xs:enumeration value="khr"/>    <!-- Kampuchean (Cambodian) Riel -->
  2090.             <xs:enumeration value="kmf"/>    <!-- Comoros Franc -->
  2091.             <xs:enumeration value="kpw"/>    <!-- North Korean Won -->
  2092.             <xs:enumeration value="krw"/>    <!-- South Korean Won -->
  2093.             <xs:enumeration value="kwd"/>    <!-- Kuwaiti Dinar -->
  2094.             <xs:enumeration value="kyd"/>    <!-- Cayman Islands Dollar -->
  2095.             <xs:enumeration value="lak"/>    <!-- Lao Kip -->
  2096.             <xs:enumeration value="lbp"/>    <!-- Lebanese Pound -->
  2097.             <xs:enumeration value="lkr"/>    <!-- Sri Lanka Rupee -->
  2098.             <xs:enumeration value="lrd"/>    <!-- Liberian Dollar -->
  2099.             <xs:enumeration value="lsl"/>    <!-- Lesotho Loti -->
  2100.             <xs:enumeration value="luf"/>    <!-- Luxembourg Franc -->
  2101.             <xs:enumeration value="lyd"/>    <!-- Libyan Dinar -->
  2102.             <xs:enumeration value="mad"/>    <!-- Moroccan Dirham -->
  2103.             <xs:enumeration value="mgf"/>    <!-- Malagasy Franc -->
  2104.             <xs:enumeration value="mnt"/>    <!-- Mongolian Tugrik -->
  2105.             <xs:enumeration value="mop"/>    <!-- Macau Pataca -->
  2106.             <xs:enumeration value="mro"/>    <!-- Mauritanian Ouguiya -->
  2107.             <xs:enumeration value="mtl"/>    <!-- Maltese Lira -->
  2108.             <xs:enumeration value="mur"/>    <!-- Mauritius Rupee -->
  2109.             <xs:enumeration value="mvr"/>    <!-- Maldive Rufiyaa -->
  2110.             <xs:enumeration value="mwk"/>    <!-- Malawi Kwacha -->
  2111.             <xs:enumeration value="mxp"/>    <!-- Mexican Peso -->
  2112.             <xs:enumeration value="myr"/>    <!-- Malaysian Ringgit -->
  2113.             <xs:enumeration value="mzm"/>    <!-- Mozambique Metical -->
  2114.             <xs:enumeration value="ngn"/>    <!-- Nigerian Naira -->
  2115.             <xs:enumeration value="nic"/>    <!-- Nicaraguan Cordoba -->
  2116.             <xs:enumeration value="nlg"/>    <!-- Dutch Guilder -->
  2117.             <xs:enumeration value="nok"/>    <!-- Norwegian Kroner -->
  2118.             <xs:enumeration value="npr"/>    <!-- Nepalese Rupee -->
  2119.             <xs:enumeration value="nzd"/>    <!-- New Zealand Dollar -->
  2120.             <xs:enumeration value="omr"/>    <!-- Omani Rial -->
  2121.             <xs:enumeration value="pab"/>    <!-- Panamanian Balboa -->
  2122.             <xs:enumeration value="pei"/>    <!-- Peruvian Inti -->
  2123.             <xs:enumeration value="pgk"/>    <!-- Papua New Guinea Kina -->
  2124.             <xs:enumeration value="php"/>    <!-- Philippine Peso -->
  2125.             <xs:enumeration value="pkr"/>    <!-- Pakistan Rupee -->
  2126.             <xs:enumeration value="plz"/>    <!-- Polish Zloty -->
  2127.             <xs:enumeration value="pte"/>    <!-- Portuguese Escudo -->
  2128.             <xs:enumeration value="pyg"/>    <!-- Paraguay Guarani -->
  2129.             <xs:enumeration value="qar"/>    <!-- Qatari Rial -->
  2130.             <xs:enumeration value="rol"/>    <!-- Romanian Lei -->
  2131.             <xs:enumeration value="rwf"/>    <!-- Rwanda Franc -->
  2132.             <xs:enumeration value="sar"/>    <!-- Saudi Arabian Riyal -->
  2133.             <xs:enumeration value="sbd"/>    <!-- Solomon Islands Dollar -->
  2134.             <xs:enumeration value="scr"/>    <!-- Seychelles Rupee -->
  2135.             <xs:enumeration value="sdp"/>    <!-- Sudanese Pound -->
  2136.             <xs:enumeration value="sek"/>    <!-- Swedish Krona -->
  2137.             <xs:enumeration value="sgd"/>    <!-- Singapore Dollar -->
  2138.             <xs:enumeration value="shp"/>    <!-- St. Helena Pound -->
  2139.             <xs:enumeration value="sll"/>    <!-- Sierra Leone Leone -->
  2140.             <xs:enumeration value="skk"/>    <!-- Slovakia Koruna -->
  2141.             <xs:enumeration value="sos"/>    <!-- Somali Schilling -->
  2142.             <xs:enumeration value="srg"/>    <!-- Suriname Guilder -->
  2143.             <xs:enumeration value="std"/>    <!-- Sao Tome and Principe Dobra -->
  2144.             <xs:enumeration value="sur"/>    <!-- USSR Rouble -->
  2145.             <xs:enumeration value="svc"/>    <!-- El Salvador Colon -->
  2146.             <xs:enumeration value="syp"/>    <!-- Syrian Pound -->
  2147.             <xs:enumeration value="szl"/>    <!-- Swaziland Lilangeni -->
  2148.             <xs:enumeration value="thb"/>    <!-- Thai Bhat -->
  2149.             <xs:enumeration value="tnd"/>    <!-- Tunisian Dinar -->
  2150.             <xs:enumeration value="top"/>    <!-- Tongan Pa'anga -->
  2151.             <xs:enumeration value="tpe"/>    <!-- East Timor Escudo -->
  2152.             <xs:enumeration value="trl"/>    <!-- Turkish Lira -->
  2153.             <xs:enumeration value="ttd"/>    <!-- Trinidad and Tobago Dollar -->
  2154.             <xs:enumeration value="twd"/>    <!-- Taiwan Dollar -->
  2155.             <xs:enumeration value="tzs"/>    <!-- Tanzanian Schilling -->
  2156.             <xs:enumeration value="ugs"/>    <!-- Uganda Shilling -->
  2157.             <xs:enumeration value="usd"/>    <!-- US Dollar -->
  2158.             <xs:enumeration value="uyp"/>    <!-- Uruguayan Peso -->
  2159.             <xs:enumeration value="veb"/>    <!-- Venezualan Bolivar -->
  2160.             <xs:enumeration value="vnd"/>    <!-- Vietnamese Dong -->
  2161.             <xs:enumeration value="vuv"/>    <!-- Vanuatu Vatu -->
  2162.             <xs:enumeration value="wst"/>    <!-- Samoan Tala -->
  2163.             <xs:enumeration value="ydd"/>    <!-- Democratic Yemeni Dinar -->
  2164.             <xs:enumeration value="yer"/>    <!-- Yemeni Rial -->
  2165.             <xs:enumeration value="yud"/>    <!-- New Yugoslavia Dinar -->
  2166.             <xs:enumeration value="zar"/>    <!-- South African Rand -->
  2167.             <xs:enumeration value="zmk"/>    <!-- Zambian Kwacha -->
  2168.             <xs:enumeration value="zrz"/>    <!-- Zaire Zaire -->
  2169.             <xs:enumeration value="zwd"/>    <!-- Zimbabwe Dollar -->
  2170.         </xs:restriction>
  2171.     </xs:simpleType>
  2172.  
  2173.         </xs:schema>
  2174.         <xs:schema targetNamespace="http://www.w3.org/1999/xlink">
  2175.             <xs:annotation>
  2176.                 <xs:appinfo>xlinks-2001.xsd 2001-06</xs:appinfo>
  2177.                 <xs:documentation xml:lang="en">
  2178.          This schema provides the XLink attributes for general use.
  2179.                 </xs:documentation>
  2180.             </xs:annotation>
  2181.             <!-- ==============================================================
  2182.        global declarations
  2183.   =============================================================== -->
  2184.             <!-- locator attribute -->
  2185.             <xs:attribute name="href" type="anyURI"/>
  2186.             <!-- semantic attributes -->
  2187.             <xs:attribute name="role" type="anyURI"/>
  2188.             <xs:attribute name="arcrole" type="anyURI"/>
  2189.             <xs:attribute name="title" type="string"/>
  2190.             <!-- behavior attributes -->
  2191.             <xs:attribute name="show">
  2192.                 <xs:annotation>
  2193.                     <xs:documentation>
  2194.         The 'show' attribute is used to communicate the desired presentation of the ending resource on traversal from the starting resource; it's
  2195.         value should be treated as follows:
  2196.           new - load ending resource in a new window, frame, pane, or other presentation context
  2197.           replace - load the resource in the same window, frame, pane, or other presentation context
  2198.           embed - load ending resource in place of the presentation of the starting resource
  2199.           other - behavior is unconstrained; examine other markup in the link for hints
  2200.           none - behavior is unconstrained
  2201.       </xs:documentation>
  2202.                 </xs:annotation>
  2203.                 <xs:simpleType>
  2204.                     <xs:restriction base="string">
  2205.                         <xs:enumeration value="new"/>
  2206.                         <xs:enumeration value="replace"/>
  2207.                         <xs:enumeration value="embed"/>
  2208.                         <xs:enumeration value="other"/>
  2209.                         <xs:enumeration value="none"/>
  2210.                     </xs:restriction>
  2211.                 </xs:simpleType>
  2212.             </xs:attribute>
  2213.             <xs:attribute name="actuate">
  2214.                 <xs:annotation>
  2215.                     <xs:documentation>
  2216.         The 'actuate' attribute is used to communicate the desired timing
  2217.         of traversal from the starting resource to the ending resource;
  2218.         it's value should be treated as follows:
  2219.         onLoad - traverse to the ending resource immediately on loading the starting resource
  2220.         onRequest - traverse from the starting resource to the ending resource only on a post-loading event triggered for this purpose
  2221.         other - behavior is unconstrained; examine other markup in link for hints
  2222.         none - behavior is unconstrained
  2223.       </xs:documentation>
  2224.                 </xs:annotation>
  2225.                 <xs:simpleType>
  2226.                     <xs:restriction base="string">
  2227.                         <xs:enumeration value="onLoad"/>
  2228.                         <xs:enumeration value="onRequest"/>
  2229.                         <xs:enumeration value="other"/>
  2230.                         <xs:enumeration value="none"/>
  2231.                     </xs:restriction>
  2232.                 </xs:simpleType>
  2233.             </xs:attribute>
  2234.             <!-- traversal attributes -->
  2235.             <xs:attribute name="label" type="string"/>
  2236.             <xs:attribute name="from" type="string"/>
  2237.             <xs:attribute name="to" type="string"/>
  2238.             <!-- ==============================================================
  2239.        Attributes grouped by XLink type, as specified in the W3C
  2240.        Recommendation (dated 2000-06-27)
  2241.   =================================================================== -->
  2242.             <xs:attributeGroup name="simpleLink">
  2243.                 <xs:attribute name="type" type="string" fixed="simple" form="qualified"/>
  2244.                 <xs:attribute ref="xlink:href" use="optional"/>
  2245.                 <xs:attribute ref="xlink:role" use="optional"/>
  2246.                 <xs:attribute ref="xlink:arcrole" use="optional"/>
  2247.                 <xs:attribute ref="xlink:title" use="optional"/>
  2248.                 <xs:attribute ref="xlink:show" use="optional"/>
  2249.                 <xs:attribute ref="xlink:actuate" use="optional"/>
  2250.             </xs:attributeGroup>
  2251.             <xs:attributeGroup name="extendedLink">
  2252.                 <xs:attribute name="type" type="string" fixed="extended" form="qualified"/>
  2253.                 <xs:attribute ref="xlink:role" use="optional"/>
  2254.                 <xs:attribute ref="xlink:title" use="optional"/>
  2255.             </xs:attributeGroup>
  2256.             <xs:attributeGroup name="locatorLink">
  2257.                 <xs:attribute name="type" type="string" fixed="locator" form="qualified"/>
  2258.                 <xs:attribute ref="xlink:href" use="required"/>
  2259.                 <xs:attribute ref="xlink:role" use="optional"/>
  2260.                 <xs:attribute ref="xlink:title" use="optional"/>
  2261.                 <xs:attribute ref="xlink:label" use="optional"/>
  2262.             </xs:attributeGroup>
  2263.             <xs:attributeGroup name="arcLink">
  2264.                 <xs:attribute name="type" type="string" fixed="arc" form="qualified"/>
  2265.                 <xs:attribute ref="xlink:arcrole" use="optional"/>
  2266.                 <xs:attribute ref="xlink:title" use="optional"/>
  2267.                 <xs:attribute ref="xlink:show" use="optional"/>
  2268.                 <xs:attribute ref="xlink:actuate" use="optional"/>
  2269.                 <xs:attribute ref="xlink:from" use="optional"/>
  2270.                 <xs:attribute ref="xlink:to" use="optional"/>
  2271.             </xs:attributeGroup>
  2272.             <xs:attributeGroup name="resourceLink">
  2273.                 <xs:attribute name="type" type="string" fixed="resource" form="qualified"/>
  2274.                 <xs:attribute ref="xlink:role" use="optional"/>
  2275.                 <xs:attribute ref="xlink:title" use="optional"/>
  2276.                 <xs:attribute ref="xlink:label" use="optional"/>
  2277.             </xs:attributeGroup>
  2278.             <xs:attributeGroup name="titleLink">
  2279.                 <xs:attribute name="type" type="string" fixed="title" form="qualified"/>
  2280.             </xs:attributeGroup>
  2281.             <xs:attributeGroup name="emptyLink">
  2282.                 <xs:attribute name="type" type="string" fixed="none" form="qualified"/>
  2283.             </xs:attributeGroup>
  2284.         </xs:schema>
  2285.     </types>
  2286.     <message name="createOrderRequest">
  2287.         <part name="createOrder" element="cpxe:createOrder"/>
  2288.     </message>
  2289.     <message name="createOrderResponse">
  2290.         <part name="paramOut" element="cpxe:statusReturn"/>
  2291.     </message>
  2292.     <message name="updateOrderRequest">
  2293.         <part name="updateOrder" element="cpxe:updateOrder"/>
  2294.     </message>
  2295.     <message name="updateOrderResponse">
  2296.         <part name="paramOut" element="cpxe:statusReturn"/>
  2297.     </message>
  2298.     <message name="validateOrderRequest">
  2299.         <part name="validateOrder" element="cpxe:validateOrder"/>
  2300.     </message>
  2301.     <message name="validateOrderResponse">
  2302.         <part name="paramOut" element="cpxe:statusReturn"/>
  2303.     </message>
  2304.     <message name="authorizeOrderRequest">
  2305.         <part name="authorizeOrder" element="cpxe:authorizeOrder"/>
  2306.     </message>
  2307.     <message name="authorizeOrderResponse">
  2308.         <part name="paramOut" element="cpxe:statusReturn"/>
  2309.     </message>
  2310.     <message name="getOrderRequest">
  2311.         <part name="getOrder" element="cpxe:getOrder"/>
  2312.     </message>
  2313.     <message name="getOrderResponse">
  2314.         <part name="paramOut" element="cpxe:statusReturn"/>
  2315.     </message>
  2316.     <message name="getOrderPropertiesRequest">
  2317.         <part name="getOrderProperties" element="cpxe:getOrderProperties"/>
  2318.     </message>
  2319.     <message name="getOrderPropertiesResponse">
  2320.         <part name="paramOut" element="cpxe:statusReturn"/>
  2321.     </message>
  2322.     <message name="getAssetListRequest">
  2323.         <part name="getAssetList" element="cpxe:getAssetList"/>
  2324.     </message>
  2325.     <message name="getAssetListResponse">
  2326.         <part name="paramOut" element="cpxe:statusReturn"/>
  2327.     </message>
  2328.     <!-- CPXe core -->
  2329.     <message name="getSessionRequest">
  2330.         <part name="getSession" element="cpxe:getSession"/>
  2331.     </message>
  2332.     <message name="getSessionResponse">
  2333.         <part name="paramOut" element="cpxe:statusReturn"/>
  2334.     </message>
  2335.     <message name="cancelLeaseRequest">
  2336.         <part name="cancelLease" element="cpxe:cancelLease"/>
  2337.     </message>
  2338.     <message name="cancelLeaseResponse">
  2339.         <part name="paramOut" element="cpxe:statusReturn"/>
  2340.     </message>
  2341.     <message name="renewLeaseRequest">
  2342.         <part name="renewLease" element="cpxe:renewLease"/>
  2343.     </message>
  2344.     <message name="renewLeaseResponse">
  2345.         <part name="paramOut" element="cpxe:statusReturn"/>
  2346.     </message>
  2347.     <message name="getServicePropertiesRequest">
  2348.         <part name="getServiceProperties" element="cpxe:getServiceProperties"/>
  2349.     </message>
  2350.     <message name="getServicePropertiesResponse">
  2351.         <part name="paramOut" element="cpxe:statusReturn"/>
  2352.     </message>
  2353.     <message name="getSessionPropertiesRequest">
  2354.         <part name="getSessionProperties" element="cpxe:getSessionProperties"/>
  2355.     </message>
  2356.     <message name="getSessionPropertiesResponse">
  2357.         <part name="paramOut" element="cpxe:statusReturn"/>
  2358.     </message>
  2359.     <message name="setSessionPropertiesRequest">
  2360.         <part name="setSessionProperties" element="cpxe:setSessionProperties"/>
  2361.     </message>
  2362.     <message name="setSessionPropertiesResponse">
  2363.         <part name="paramOut" element="cpxe:statusReturn"/>
  2364.     </message>
  2365.     <message name="getCatalogRequest">
  2366.         <part name="getCatalog" element="cpxe:getCatalog"/>
  2367.     </message>
  2368.     <message name="getCatalogResponse">
  2369.         <part name="paramOut" element="cpxe:statusReturn"/>
  2370.     </message>
  2371.     <portType name="CpxeFasPortType">
  2372.         <operation name="createOrder" parameterOrder="createOrder">
  2373.             <input message="fas:createOrderRequest"/>
  2374.             <output message="fas:createOrderResponse"/>
  2375.         </operation>
  2376.         <operation name="updateOrder" parameterOrder="updateOrder">
  2377.             <input message="fas:updateOrderRequest"/>
  2378.             <output message="fas:updateOrderResponse"/>
  2379.         </operation>
  2380.         <operation name="validateOrder" parameterOrder="validateOrder">
  2381.             <input message="fas:validateOrderRequest"/>
  2382.             <output message="fas:validateOrderResponse"/>
  2383.         </operation>
  2384.         <operation name="authorizeOrder" parameterOrder="authorizeOrder">
  2385.             <input message="fas:authorizeOrderRequest"/>
  2386.             <output message="fas:authorizeOrderResponse"/>
  2387.         </operation>
  2388.         <operation name="getOrder" parameterOrder="getOrder">
  2389.             <input message="fas:getOrderRequest"/>
  2390.             <output message="fas:getOrderResponse"/>
  2391.         </operation>
  2392.         <operation name="getOrderProperties" parameterOrder="getOrderProperties">
  2393.             <input message="fas:getOrderPropertiesRequest"/>
  2394.             <output message="fas:getOrderPropertiesResponse"/>
  2395.         </operation>
  2396.         <operation name="getAssetList" parameterOrder="getAssetList">
  2397.             <input message="fas:getAssetListRequest"/>
  2398.             <output message="fas:getAssetListResponse"/>
  2399.         </operation>
  2400.         <!-- Shared operations  -->
  2401.         <operation name="getSession" parameterOrder="getSession">
  2402.             <input message="fas:getSessionRequest"/>
  2403.             <output message="fas:getSessionResponse"/>
  2404.         </operation>
  2405.         <operation name="cancelLease" parameterOrder="cancelLease">
  2406.             <input message="fas:cancelLeaseRequest"/>
  2407.             <output message="fas:cancelLeaseResponse"/>
  2408.         </operation>
  2409.         <operation name="renewLease" parameterOrder="renewLease">
  2410.             <input message="fas:renewLeaseRequest"/>
  2411.             <output message="fas:renewLeaseResponse"/>
  2412.         </operation>
  2413.         <operation name="getServiceProperties" parameterOrder="getServiceProperties">
  2414.             <input message="fas:getServicePropertiesRequest"/>
  2415.             <output message="fas:getServicePropertiesResponse"/>
  2416.         </operation>
  2417.         <operation name="getSessionProperties" parameterOrder="getSessionProperties">
  2418.             <input message="fas:getSessionPropertiesRequest"/>
  2419.             <output message="fas:getSessionPropertiesResponse"/>
  2420.         </operation>
  2421.         <operation name="setSessionProperties" parameterOrder="setSessionProperties">
  2422.             <input message="fas:setSessionPropertiesRequest"/>
  2423.             <output message="fas:setSessionPropertiesResponse"/>
  2424.         </operation>
  2425.         <operation name="getCatalog" parameterOrder="getCatalog">
  2426.             <input message="fas:getCatalogRequest"/>
  2427.             <output message="fas:getCatalogResponse"/>
  2428.         </operation>
  2429.     </portType>
  2430.     <binding name="CpxeFasBinding" type="fas:CpxeFasPortType">
  2431.         <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  2432.         <!-- FAS specific bindings  -->
  2433.         <operation name="createOrder">
  2434.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/createOrder" style="document"/>
  2435.             <input>
  2436.                 <soap:body use="literal"/>
  2437.             </input>
  2438.             <output>
  2439.                 <soap:body use="literal"/>
  2440.             </output>
  2441.         </operation>
  2442.         <operation name="updateOrder">
  2443.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/updateOrder" style="document"/>
  2444.             <input>
  2445.                 <soap:body use="literal"/>
  2446.             </input>
  2447.             <output>
  2448.                 <soap:body use="literal"/>
  2449.             </output>
  2450.         </operation>
  2451.         <operation name="validateOrder">
  2452.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/validateOrder" style="document"/>
  2453.             <input>
  2454.                 <soap:body use="literal"/>
  2455.             </input>
  2456.             <output>
  2457.                 <soap:body use="literal"/>
  2458.             </output>
  2459.         </operation>
  2460.         <operation name="authorizeOrder">
  2461.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/authorizeOrder" style="document"/>
  2462.             <input>
  2463.                 <soap:body use="literal"/>
  2464.             </input>
  2465.             <output>
  2466.                 <soap:body use="literal"/>
  2467.             </output>
  2468.         </operation>
  2469.         <operation name="getOrder">
  2470.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/getOrder" style="document"/>
  2471.             <input>
  2472.                 <soap:body use="literal"/>
  2473.             </input>
  2474.             <output>
  2475.                 <soap:body use="literal"/>
  2476.             </output>
  2477.         </operation>
  2478.         <operation name="getOrderProperties">
  2479.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/getOrderProperties" style="document"/>
  2480.             <input>
  2481.                 <soap:body use="literal"/>
  2482.             </input>
  2483.             <output>
  2484.                 <soap:body use="literal"/>
  2485.             </output>
  2486.         </operation>
  2487.         <operation name="getAssetList">
  2488.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/getAssetList" style="document"/>
  2489.             <input>
  2490.                 <soap:body use="literal"/>
  2491.             </input>
  2492.             <output>
  2493.                 <soap:body use="literal"/>
  2494.             </output>
  2495.         </operation>
  2496.         <!-- Common bindings -->
  2497.         <operation name="getSession">
  2498.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/getSession" style="document"/>
  2499.             <input>
  2500.                 <soap:body use="literal"/>
  2501.             </input>
  2502.             <output>
  2503.                 <soap:body use="literal"/>
  2504.             </output>
  2505.         </operation>
  2506.         <operation name="cancelLease">
  2507.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/cancelLease" style="document"/>
  2508.             <input>
  2509.                 <soap:body use="literal"/>
  2510.             </input>
  2511.             <output>
  2512.                 <soap:body use="literal"/>
  2513.             </output>
  2514.         </operation>
  2515.         <operation name="renewLease">
  2516.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/renewLease" style="document"/>
  2517.             <input>
  2518.                 <soap:body use="literal"/>
  2519.             </input>
  2520.             <output>
  2521.                 <soap:body use="literal"/>
  2522.             </output>
  2523.         </operation>
  2524.         <operation name="getServiceProperties">
  2525.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/getServiceProperties" style="document"/>
  2526.             <input>
  2527.                 <soap:body use="literal"/>
  2528.             </input>
  2529.             <output>
  2530.                 <soap:body use="literal"/>
  2531.             </output>
  2532.         </operation>
  2533.         <operation name="getSessionProperties">
  2534.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/getSessionProperties" style="document"/>
  2535.             <input>
  2536.                 <soap:body use="literal"/>
  2537.             </input>
  2538.             <output>
  2539.                 <soap:body use="literal"/>
  2540.             </output>
  2541.         </operation>
  2542.         <operation name="setSessionProperties">
  2543.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/setSessionProperties" style="document"/>
  2544.             <input>
  2545.                 <soap:body use="literal"/>
  2546.             </input>
  2547.             <output>
  2548.                 <soap:body use="literal"/>
  2549.             </output>
  2550.         </operation>
  2551.         <operation name="getCatalog">
  2552.             <soap:operation soapAction="http://www.i3a.org/cpxe/100/fas/getCatalog" style="document"/>
  2553.             <input>
  2554.                 <soap:body use="literal"/>
  2555.             </input>
  2556.             <output>
  2557.                 <soap:body use="literal"/>
  2558.             </output>
  2559.         </operation>
  2560.     </binding>
  2561.     <service name="KodakFasService">
  2562.         <port name="KodakFasPort" binding="fas:CpxeFasBinding">
  2563.             <soap:address location="http://esgateway.kodak.com/cpxe-int/FAS/"/>
  2564.         </port>
  2565.     </service>
  2566. </definitions>